https://wiki.tockdom.com/w/api.php?action=feedcontributions&user=Chadderz&feedformat=atomCustom Mario Kart - User contributions [en]2024-03-28T13:56:07ZUser contributionsMediaWiki 1.35.14https://wiki.tockdom.com/w/index.php?title=User_talk:XBlue98&diff=164338User talk:XBlue982019-05-21T19:48:09Z<p>Chadderz: /* Official contact with MrBean35000vr and/or Chadderz */ new section</p>
<hr />
<div>==''Welcome to the Custom Mario Kart Wiiki!''==<br />
<div class="float-right">[[File:wiiki.png|100px|center]]</div><br />
Thank you for joining the '''Custom Mario Kart Wiiki!''' <br />
<br />
<H5>Before you get started, '''[[Rules|Click here to read the Rules page]].'''</H5><br />
<br />
Keep the following in mind as you contribute to the site:<br />
* Make good edits. Always use the '''SHOW PREVIEW button''' to check your changes before you use the '''SAVE''' button. If you make a mistake, wait 15 minutes before saving the same page a third or fourth time in a row. <br />
* Saving lots of edits '''without PREVIEWING''' will get the moderators on your case, and '''can get you banned''' from the Wiiki.<br />
* '''Write articles in third person''' (using words like ''he, she'' and ''they'') instead of first person (''I, me'' and ''we.'') User pages and talk pages are the exceptions to this rule.<br />
* Use correct grammar, spelling and capitalization.<br />
* If someone posts on your talk page, please post a reply.<br />
* Sign all of your posts on talk pages with four tildes (<nowiki>~~~~</nowiki>). This will turn into your name and the time you wrote the comment.<br />
* Don't delete anything from your talk page. <br />
* Use the '''[[Template:New Page Templates|Templates]]''' on the '''[[Main Page]]''' when making new articles for content such as Custom Tracks, Texture Hacks, Characters and other releases. <br />
* We encourage all content makers to create a [[Help:User-XXX-Link|User Link]] to put on their release pages and to add it to the [[Author Reference|Author List]]. <br />
Thank you! -- [[User:TorranBOT|TorranBOT]] ([[User talk:TorranBOT|talk]]) 08:40, 15 June 2013 (UTC)<br />
<br />
== Wiiki [[Rules]] / Moderator Messages ==<br />
Looks like you've edited the page [[Alpine Skyway]] 25 times in the past 4 days.... that's a lot more than was necessary. First of all use the ''PREVIEW'' button instead of saving every tiny edit. Second, in general you shouldn't update more than a couple of times every few days unless you have something significant to add - like screenshots, a download or video. We really don't need to know that you're now 5%, 15%, 40% etc. finished with the KMP. It wastes moderator's time because we have to check those edits, and and it wastes your time because you're editing the wiki instead of working on your track. -[[User:Jefe|Jefe]] ([[User talk:Jefe|talk]]) 23:16, 19 June 2013 (UTC)<br />
<br />
:You edited Sacred Woods about 5 times in 7 minutes. This is excessive. Are you reading the [[Rules]]?<br />
:''Do not edit any individual page more than 2 TIMES in a row in a 15 MINUTE PERIOD.''<br />
:-- Have a nice day, from [[ZillaSpaz]] 18:32, 6 August 2013 (UTC)<br />
<br />
==Magnetic City Glitch==<br />
Hey ! I found a glitch shortcut which saves 10 seconds. At the start, when you are at the first fork, choose the left road, after the little ramp on the floor, you should go near the traffic sign and if you touch the wall you'll get out of the track. Go around the house and get the stone road after turnimg to the right. Do the straight in front of you and at the fork turn to the right and if you follow the road you'll find yourself at the magnetic wall with the cannon. Please fix this ! Hope you understand what i wrote ;)-[[User:Dswii3ds|Dswii3ds]] ([[User talk:Dswii3ds|talk]])<br />
:Si lo sono, comunque bellissima magnetic city !-[[User:Dswii3ds|Dswii3ds]] ([[User talk:Dswii3ds|talk]]) 20:09, 26 March 2014 (UTC)<br />
<br />
== Cool, Cool Mountain...and First Period ==<br />
<br />
No updates on the first period tracks? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 02:21, 20 August 2014 (UTC)<br />
<br />
The second period tracks are the ones that i want to update now, and release E. Gadd's Computer... by the way i didn't forgot that i should also update alpine skyway, it's quite important... --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 02:51, 20 August 2014 (UTC)<br />
<br />
== Disco Fever ==<br />
<br />
You should submit v3.1 (Mario Edition) to CTGP-R. I am very impressed with the track. --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 20:26, 27 December 2014 (UTC)<br />
<br />
:The track is already in the CTGP New tracks wishlist (heidy) haven't you checked? --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 12:57, 28 December 2014 (UTC)<br />
<br />
::Yes, I've checked before making that comment, the track should be accepted! --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 19:26, 28 December 2014 (UTC)<br />
<br />
:: xBlues tracks are very wonderfull and there is much creation on there. I hope of more of them. xD :,) . Did anyone one know about the new update release from CTGP with the new tracks, or a release date?? --[[User:Snake|Snake]] ([[User talk:Snake|talk]]) 19:37, 28 December 2014 (UTC)<br />
<br />
== Update Magnetic City ==<br />
<br />
Can you please update [[Magnetic City]] to replace Moonview Highway Slot because Wine's CT Pack was able to do that,but when it's launched on wii with the file name "ridgehighway_course" it presents me with a black screen. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 21:51 7 February 2015 (UTC)<br />
<br />
:I don't really care and have time to update an old and bad track as heck like Magnetic City... --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 22:59, 8 December 2015 (UTC)<br />
<br />
:: Does anyone know what to do to enable an already existing ct for the moonview slot?<br />
:: I think, this was never done before and only tracks based on ridgehighway_course are able to run at this slot.<br />
:: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 11:46, 9 February 2015 (UTC)<br />
<br />
::: To enable a track on Slot 4.2 it must have at least one [http://szs.wiimm.de/cgi/mkw/object?query=0xd0+0xd1+0xde#res truck, car, or bomb car] and the course_model.brres must be the original Moonview Highway one.<br />
<br />
::: The most common workaround for newer tracks is to use [[SZS Modifier]]'s ''Delete Polygon'' function on all the polygons of the course_model.brres and have the main course model in the vrcorn_model.brres or sun.brres instead.<br />
::: --[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 14:23, 9 February 2015 (UTC)<br />
<br />
:::: I know the theory about 2 special polygons to enable the moonview slot. But with my tests I had never success with it. All other slot conversions can be done easily with [http://szs.wiimm.de/opt/slot ''wszst slot=NAME'']].<br />
:::: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 19:53, 10 February 2015 (UTC)<br />
<br />
== Help ==<br />
<br />
hi i need help with making the model for my ct. i will give u a link to files if u say yes[[User:Jax53000VR|Jax53000VR]] ([[User talk:Jax53000VR|talk]]) 01:24, 16 February 2015 (UTC)Jax53000VR<br />
<br />
== WHAT HAPPENED!?!?!!??!?!?! ==<br />
<br />
I was looking on your user page and I saw E gadds computer in progress was GONE. If you cancled it i will be devestated and will kill my wii. [[User:Jax53000VR|Jax53000VR]] ([[User talk:Jax53000VR|talk]]) 16:06, 20 February 2015 (UTC)<br />
<br />
: Here's the summary of the page's last edit before I deleted it:<br />
: ''(Farewell E. Gadd's Computer... all my ct files were in my old hard disk (broken), i bought a new one. So i ask deletion :(...)''<br />
: --[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 16:18, 20 February 2015 (UTC)<br />
Wait YOU had the files for it? I had wanted to play it but now he has to recreate it..... :( [[User:Jax53000VR|Jax53000VR]] ([[User talk:Jax53000VR|talk]]) 18:12, 20 February 2015 (UTC)Jax53000VR<br />
: That track is lost at all, I can't do anything, that's terrible. Soon I'll start another track, always computer/cyber themed, it's really sad. --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 21:37, 20 February 2015 (UTC)<br />
ok :( I wish my tracks will load but it wont and I could create a simple version but my tracks never load plus can I have your custom Professor Elvin Gadd voice?<br />
[[User:Jax53000VR|Jax53000VR]] ([[User talk:Jax53000VR|talk]]) 22:16, 20 February 2015 (UTC)Jax53000VR<br />
<br />
== Slow-Mo removed ==<br />
Tock and I removed the slow motion bug for <br />
* http://download.wiimm.de/mkw-track-archive/Crossingville%20v1+%20(xBlue98)%20%5br12,Wiimm,Tock%5d.wbz<br />
* http://download.wiimm.de/mkw-track-archive/Daisy%20Gardens%20v1.2b.2L%20(xBlue98,Wiimm)%20%5br82,Tock%5d.wbz<br />
Both are tested online and offline and will go into [[Wiimms Mario Kart Fun 2015-03]]. -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 20:59, 11 March 2015 (UTC)<br />
<br />
== ERROR! ==<br />
<br />
I've Seen Your Custom track pages and you use [[KMP Cloud]] Right? Well when I try and save it for my CT, it says "Saving has failed ,Show details of exeption?". What is it? I've done EVERYTHING right. What does it mean? [[User:Jax53000VR|Jax53000VR]] ([[User talk:Jax53000VR|talk]]) 14:51, 3 May 2015 (UTC)Jax53000VR<br />
<br />
== Disco Fever bug ==<br />
<br />
See [[CTGP Revolution/Track Wishlist/Existing Tracks#Track Bug Reports]].<br><br />
--[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 13:32, 29 May 2015 (UTC)<br />
:Oh, I've noticed that. It's easy to fix, I'll move the cannon position. --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 14:04, 29 May 2015 (UTC)<br />
<br />
== Alpine Skyway bug ==<br />
<br />
See [[CTGP Revolution/Track Wishlist/Existing Tracks#Track Bug Reports]].<br><br />
--[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 10:49, 31 May 2015 (UTC)<br />
: I checked with Wiimm SZS Tools, and there were 2 camera warnings. I updated the track to v1.1, and those 2 warnings (the cause) are removed. There shouldn't be anymore a freeze during the live cameras. --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 13:59, 31 May 2015 (UTC)<br />
<br />
== Rosalina's Starlight Coaster bug ==<br />
<br />
See [[CTGP Revolution/Track Wishlist/Existing Tracks#Track Bug Reports]].<br><br />
--[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 10:01, 25 June 2015 (UTC)<br />
<br />
I made an update that fixes the endless respawn and the Star Bits texture. Is it okay if I release it as "v1.1"?<br><br />
--[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 22:29, 10 July 2015 (UTC)<br />
<br />
== Welcome back ==<br />
Welcome back xBlue! I saw you updated [[Daisy Gardens]] and I might take a look at it later. I’m a new CT creator by the way if you don’t know me. I can’t wait to see what else you have in store! [[User:Toxic Prime|Toxic Prime]] ([[User talk:Toxic Prime|talk]]) 14:22, 21 January 2019 (UTC)<br />
<br />
== The return? ==<br />
Hey man! Remember me? ;) We have talked a lot on skype in the past. Did you really return? If so, you should get discord! There are lots of mkw discord servers where you can get in touch with other creators and players in general. I can link you to some of them :P My discord is JorisMKW#5475. Really happy seeing your name again here. [[User:JorisMKW|JorisMKW]] ([[User talk:JorisMKW|talk]]) 15:36, 21 January 2019 (UTC)<br />
: Of course I remember about you! That was a really fun period. Lately, I've been really busy. About discord: I should still think about that, as I can see the MKWii community changed a lot since 2015 and I no longer know its dynamics. However I will not be as active here as before... anyway, this year I've planned updates of some of my existing tracks, and maybe I'll create some new few ones too. --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 18:07, 21 January 2019 (UTC)<br />
:: Awesome to hear that you want to update certain tracks! There have been some attempts to fix lag on Disco Fever some months ago; maybe you could update that track sometime? :P I heard Sucht93a was working on that but I'm not sure if the lag was ever fixed or not. Either way, take it easy, no need to rush for updates ;) Also just add me on discord if you ever decide to do that. [[User:JorisMKW|JorisMKW]] ([[User talk:JorisMKW|talk]]) 18:36, 21 January 2019 (UTC)<br />
<br />
== Sacred Woods ==<br />
<br />
Hey xBlue, I’m currently in the process of a major update for Sacred Woods, so if you're interested in being a part of that then let me know. --[[FunkyDude15]] ([[User talk: FunkyDude15|talk]]) 18:55, 21 January 2019 (UTC)<br />
<br />
: Hi Funkydude! I would be happy if you update it, but I don't feel to collaborate, I realized that I work better alone on tracks. --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 20:30, 21 January 2019 (UTC)<br />
<br />
:: Sounds good, just thought I would give you the option. If you have any ideas for the update let me know on skype or private message either way. --[[FunkyDude15]] ([[User talk: FunkyDude15|talk]]) 00:56, 22 January 2019 (UTC)<br />
<br />
== Custom Track Request ==<br />
Hey man! So this guy named rusoX told me on discord that he has a really great idea for a custom track that he would like to see made. He explained to me what the track should be like and I must say that it's a really great idea. In short, it's a track where you race in the garden of a house. The idea is that the players are really small and that there are enemies like ants in the track. There are things like high grass, big plants, a pool, a doghouse and more. I can't really explain every detail here but I can assure you it's a really original and cool concept ;P However, he has like no experience with making a track and wants the quality to be alright, so he asked me to ask you if you maybe want to make this track for him? You already said you were really busy and such but maybe you can use this idea when you want to make a new track in the future? ;) Either way, thanks from rusoX in advance! Also, how could I contact you best? Is this talk page fine for you or do you still use your skype? [[User:JorisMKW|JorisMKW]] ([[User talk:JorisMKW|talk]]) 20:39, 22 January 2019 (UTC)<br />
: I sent you a friend request on Skype. --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 18:12, 23 January 2019 (UTC)<br />
<br />
== Fixing Tracks ==<br />
<br />
Hey xBlue, I’m wondering if I'm able to small updates to your tracks. Thanks in advance. --[[ZPL Gaming]] ([[User talk: ZPL Gaming|talk]]) [[User:ZPL Gaming|ZPL Gaming]] ([[User talk:ZPL Gaming|talk]]) 17:44, 7 February 2019 (UTC)<br />
<br />
: Hi. What kind of tracks? It's ok if someone fix or updates some of my OLD tracks, even if most of them are really outdated garbage, these requires remakes from scratch! But please, don't update any of my "newest" tracks, if there are some minor problems in these, I prefer updating these by myself. Example? River of Dreams and Disco Fever. --[[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 18:07, 7 February 2019 (UTC)<br />
<br />
== Rant ==<br />
This is a somewhat quick rant. But your fucking manchild-ish attitude got your tracks removed from CTGP. How about you accept actual fucking criticism instead of doing a tantrum as if you were 5. Literal kids like you shouldn't be in this community, go back to Troy, your homeland. Anyways, I'm not saying your SNES RR is bad or any of your tracks are bad, but if someone/a group gives you criticism. Accept it instead of crying like a child, you're probably 18+ by this point, so FUCKING GROW UP. [[User:FancyDoesCustomTracks|FancyDoesCustomTracks]] ([[User talk:FancyDoesCustomTracks|talk]]) 21:33, 17 May 2019 (UTC)<br />
<br />
: First, unacceptable speech. Hope a native speaker can ''translate'' it into better english. <br />
: If I understand it, all tracks of XBlue98 were removed from CTGP, because he don't accept the wishes of the CTGP test team for one track. If that is true, I knew who is childish -- and it is not XBlue98. <br />
: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 22:31, 17 May 2019 (UTC)<br />
<br />
:: xBlue threatened to DMCA if we didn't accept his track, as is, still with all of the issues we found with it. This is basically a Torran v2 situation. If that does not scream "overreaction" then I really don't know what does.<br />
:: Maybe some harsh language, sure, but this is ''not'' a situation to be defending xBlue in. -- [[User:Carp|Carp]] ([[User talk:Carp|talk]]) 22:41, 17 May 2019 (UTC)<br />
::: The first and third answer are at out of place, of a frightening '''vulgarity''' and '''incorrectness'''. <br />
::: The decision has been made, as follows, to protect myself and my own works:<br />
::: I don't share anything at all about what happens in the CTGP backroom. <br />
::: But I am obligated to reiterate that any '''preferences''', '''wishes''', and ''even'' '''attempted manipulations''' ''shouldn't be confused as'' '''objective issues'''. <br />
::: That said, instead of talking uselessly here, you should be grateful that nothing will happen if all my tracks gets removed. -- [[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 00:10, 18 May 2019 (UTC)<br />
<br />
== CTGP drama ==<br />
New section so this is less colored by the vulgar mess of letters above.<br>~<br>To make this incident as clear as I can, this is what happened:<br />
*The CTGP testers wanted the slow ramps in your SNES Rainbow Road remake to be replaced with trickable road. In the opinion of a significant number of people, this would have made the track far more fun to drive.<br />
*Being perfectionists, the CTGP testers refused to add the track as-is. Rather than letting this minor change be made, you got upset.<br />
*Of all things you could have done, you ''blackmailed them to have the track added as-is by threatening to file a DMCA claim against CTGP if they didn't either add it or remove your other tracks''.<br />
*Despite the highly questionable legal backing of such an action, CTGP followed your demands and removed your tracks.<br />
You are not the victim here; like a toddler, you couldn't handle a decision not going your way, and in your tantrum you accomplished ''nothing''.<br><br />
All you had to do to "protect yourself and your own works" was refuse that change. The track wouldn't have made it into CTGP... but in no way would that be a worse scenario than what we have now.<br><br />
MrBean, someone who didn't even know about any of this until after the fact, wants to communicate with you to make this right. I love your tracks, and I really suggest that you be willing to open up so we can all let this go.<br><br />
(By the way, to FancyDoesCustomTracks: Your intentions are in the right place, but let's just say Blue's not the only one who needs to control his emotions better.) --[[User:Cloud Cotni|Cotni]] ([[User talk:Cloud Cotni|talk]]&#124;[[Special:Contributions/Cloud Cotni|contribs]]) 04:37, 19 May 2019 (UTC)<br />
: I have thought about if I should even answer this... I'm still not sure if it's worth it.<br />
: From what I see, you probably haven't read everything about the discussion above, therefore I suggest you to do that.<br />
: It's unnecessary to continue talking about a sensible action which, by the way, has simply reached one sort of mediation.<br />
: Among the other things you'll understand that talking about emotions, in the case of the occurrence of certain inaudible facts such as those listed in my last answer, is inappropriate (this is not everything, there are other facts that I'm not willing to reveal).<br />
: Hoping to have put a point to this discussion, I don't know what else to say besides than wishing you a good Sunday.<br />
: -- [[User:xBlue98|xBlue98]] ([[User talk:xBlue98|talk]]) 15:05, 19 May 2019 (UTC)<br />
<br />
== Ouch ==<br />
I saw your disagreement here, and it's very sad that you guys had to come to this. At least I don't get CTGP updates anymore, so fortunately, I'm not dragged into the update and track drama. [[User:CTGPfan100|CTGPfan100]] ([[User talk:CTGPfan100|talk]]) 04:47, 21 May 2019 (UTC)<br />
<br />
== Misc ==<br />
Did you notice this message about KTPT: [[Talk:River_of_Dreams]] -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 17:54, 21 May 2019 (UTC)<br />
<br />
== Official contact with MrBean35000vr and/or Chadderz ==<br />
<br />
'''Note:''' I would request only [[User:Chadderz]], [[User:MrBean35000vr]] and [[User:xBlue98]] edit this section. We wish for this to be official exclusive direct contact between those parties. If we do speak in private, I (Chadderz) will reflect the outcome of that discussion here.<br />
<br />
Dear xBlue98,<br />
<br />
MrBean35000vr and I deeply regret the events of the past few days. We very much hope that we can find a way past any differences and certainly would like to have your work represented in CTGP-R once more. We have been unable to establish a direct contact with you in order to discuss this matter and would like to do so. We're happy to talk on Discord or via email or any other suitable platform. We can also discuss publicly here if you would prefer.<br />
<br />
To explain our perspective and actions, neither me nor MrBean35000vr were aware of any dispute between you and the track testing team before 17th May 2019. We became aware of it when we were linked [https://cdn.discordapp.com/attachments/410806822010748929/580467857171677187/xblue98.png this screenshot]. To be clear, that team is a voluntary group that helps us with decision making. They do ''not'' officially represent CTGP, MrBean35000vr or Chadderz. After receiving the screenshot, we immediately tried to make contact with you but found we could not. We subsequently asked people who were able to contact you to confirm that the message was genuine and they said yes. Without a way to contact you, we did not feel we could be certain that you would be happy with any solution regarding SNES Rainbow Road and so we felt it was our duty to prevent the threat of any legal action. Unfortunately we were in the process of updating CTGP that day, and so could not afford to wait if we wished to remove the tracks in time for the 1 week deadline.<br />
<br />
It is not appropriate in situations such as this with legal implications to be contacting you via unofficial 3rd parties. Even if you do not wish to talk with us about the dispute, we formally request that you respond to each of the following points:<br />
# Do you confirm that this wiki account represents [[User:xBlue98]] (author of '[[Crossingville]]', '[[Horror Mansion]]', '[[Disco Fever]]' and '[[Daisy Gardens]]') officially?<br />
# Do you accept that the above screenshot is accurate and that you, xBlue98, sent the message?<br />
# If so, do you agree that the following is an accurate characterisation of that message "Unless SNES Rainbow Road is accepted into CTGP-R without further requirements for changes, then on 24th May 2019 xBlue98 will begin legal proceedings against ChadSoft claiming infringement of the copyrighted works '[[Crossingville]]', '[[Horror Mansion]]', '[[Disco Fever]]' and '[[Daisy Gardens]]'."<br />
# Do you confirm that, to the best of your knowledge, following the update on 19th May 2019 CTGP-R v1.03 no longer infringes any copyright you hold.<br />
# Do you confirm that, following this update, you will not be undertaking any legal action against ChadSoft.<br />
<br />
I hope we can amicably resolve this matter soon. We are all united by our passion for these mods and this community and it is always incredibly sad to see divisions and disputes break out.<br />
<br />
[[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:48, 21 May 2019 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Race_Rating&diff=143925Race Rating2018-08-30T15:10:36Z<p>Chadderz: Redirected page to Player Rating</p>
<hr />
<div>#redirect [[Player Rating]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=BR&diff=143924BR2018-08-30T15:10:18Z<p>Chadderz: Redirected page to Player Rating</p>
<hr />
<div>#redirect [[Player Rating]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=VR&diff=143923VR2018-08-30T15:09:52Z<p>Chadderz: Redirected page to Player Rating</p>
<hr />
<div>#redirect [[Player Rating]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Player_Rating&diff=143922Player Rating2018-08-30T15:08:58Z<p>Chadderz: Created page with "Mario Kart Wii gives each player in public online rooms a rating. This is called '''VR''' or '''Race Rating''' for VS mode and '''BR''' or '''Battle Rating''' for battle m..."</p>
<hr />
<div>[[Mario Kart Wii]] gives each player in public online rooms a rating. This is called '''VR''' or '''Race Rating''' for VS mode and '''BR''' or '''Battle Rating''' for battle mode.<br />
<br />
== Algorithm ==<br />
<br />
[[File:Player-rating-change-graph.png|200px|thumb|right|Graph of Player Rating change function.]]<br />
<br />
When a player creates a license they start with 5000 of each rating. After each race or battle online, the appropriate rating is updated based on the rating of the players that were beaten/lost to. The rating along with any changes is displayed at the end of each match. The rating cannot increase beyond 9999 or decrease below 1. Disconnecting from the match results in the same loss of rating as losing to every other player in the match which means it is always preferable to try to beat at least one other player rather than disconnecting.<br />
<br />
For the purposes of rating calculation, each player is paired individually with each other player and a change is computed. The winner of those two players gains rating according to the change value and the loser of those two players loses rating according to the change. In the event of a tie, neither player wins or loses ratings. For the purposes of a battle, the player win/loss is determined by the score of that player, with 3 additional points awarded to all players on the winning team in balloon battle and 5 additional points to each player on the winning team of a coin runners match. The total change in rating is simply the sum of the losses and gains of that player. Therefore the player in first can never lose rating and the player in last can never gain rating. Guest players are always treated the same as a 5000 rated player for the purpose of the calculation.<br />
<br />
To compute the change of a given pair of players, the rating of the winner is subtracted from the loser. This value cannot be bigger than 9998 or less than -9998 and the game will cap this difference at those values in the event of a big difference due occurring (for example due to rating cheats). The game then uses a uniform cubic b-spline curve function with knot vector ({0,-20002}, {0,-15002}, {0,-10002}, {1,-5002}, {8,-2}, {50,4998}, {125,9998}, {125,14998}, {125,19998}, {125,24998}) to determine the change. An implementation of this function is [https://www.desmos.com/calculator/gr17y7d944 available]. The game's implementation is subject to various rounding errors and so may not match the mathematical definition of the function.<br />
<br />
== Impact ==<br />
The rating value is used in online matchmaking to group players of similar skill. A player can only match with a room if the host of the room has no more than 2500 more or less than the searcher. For certain (lower) rating values a player can only match if the host has no more than 1500 more or less than the searcher.<br />
<br />
In VS mode, VR is used to determine the engine class (CC) determination of online races. The engine class is somewhat random but the following rules control the probability.<br />
<br />
{| class="wikitable"<br />
|+ Engine Class probabilities in Public Rooms<br />
! Lowest VR player !! Average VR !! 100cc !! 150cc !! Mirror<br />
|-<br />
| &ge; 5300 || &ge; 5700 || 20% || 50% || 30%<br />
|-<br />
| &ge; 5300 || &lt; 5700 || 60% || 40% || 0%<br />
|-<br />
| &lt; 5300 and &ge; 4800 || &ge; 5200 || 60% || 40% || 0%<br />
|-<br />
| &lt; 5300 and &ge; 4800 || &lt; 5200 || 100% || 0% || 0%<br />
|-<br />
| &lt; 4800 || any || 100% || 0% || 0%<br />
|}<br />
<br />
In battle mode, BR is used to decide the team groupings of the players of the battle. The highest ranked player will be assigned to red team, then the next two highest ranked players will be put on blue team. The next 2 highest ranked players will be put on the red team and so on until all players are assigned.<br />
<br />
{| class="wikitable"<br />
|+ Battle Teams<br />
! Red Team !! Blue Team<br />
|-<br />
| 1st || 2nd<br />
|-<br />
| 4th || 3rd<br />
|-<br />
| 5th || 6th<br />
|-<br />
| 8th || 7th<br />
|-<br />
| 9th || 10th<br />
|-<br />
| 12th || 11th<br />
|}<br />
<br />
In friend rooms, the rating is not used to determine battle teams, but it is still used to determine the engine class (CC) for races.<br />
<br />
{| class="wikitable"<br />
|+ Engine Class probabilities in Friend Rooms<br />
! Lowest VR player !! Average VR !! 100cc !! 150cc !! Mirror<br />
|-<br />
| &ge; 5000 || &ge; 5700 || 20% || 50% || 30%<br />
|-<br />
| &ge; 5000 || &lt; 5700 || 60% || 40% || 0%<br />
|-<br />
| &lt; 5000 and &ge; 4500 || &ge; 5200 || 60% || 40% || 0%<br />
|-<br />
| &lt; 5000 and &ge; 4500 || &lt; 5200 || 100% || 0% || 0%<br />
|-<br />
| &lt; 4500 || any || 100% || 0% || 0%<br />
|}<br />
<br />
The rating value of each player is also displayed on screen to the all players in a match both before and after the match.<br />
<br />
== Mods ==<br />
* [[Wiimmfi]] does not consider rating during matchmaking.<br />
<br />
* [[CTGP-R]] does use rating during matchmaking except in [[Countdown Mode]]. CTGP-R will stop considering rating in matchmaking after 60 seconds of searching.<br />
<br />
* [[CTGP-R]] uses a different probability for engine class if the average VR of the room is &ge; 7500. The probabilities are 100cc 5%, 150cc 65%, mirror 30%.<br />
<br />
[[Category:Functions]]<br />
[[Category:Network Protocol]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=File:Player-rating-change-graph.png&diff=143921File:Player-rating-change-graph.png2018-08-30T15:06:06Z<p>Chadderz: Graph of player rating change online for a pair of players.</p>
<hr />
<div>Graph of player rating change online for a pair of players.</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:CTGP_Revolution/Track_Wishlist/New_Tracks&diff=140857Talk:CTGP Revolution/Track Wishlist/New Tracks2018-07-31T13:17:16Z<p>Chadderz: /* Track Review/Issues */</p>
<hr />
<div>==Page Cleanup==<br />
Shouldn't there be a cleanup of this page to remove all the stuff that has already been added to CTGPR v1.02? Otherwise this page could get incredibly confusing... -- [[User:WorldsBoss|WorldsBoss]] 23:00, 8 October 2012 (UTC)<br />
<br />
=="New tracks"==<br />
I already see [[GBA Rainbow Road]], [[GCN Rainbow Road]], [[Iceway]], [[Lava Road]], [[SNES Mario Circuit 1]], and [[Volcano Beach 2]] in CTGP. I know they have been updated since then, but do they belong on the new tracks wishlist? Shouldn't '''all''' new versions of old tracks be moved [[CTGP Revolution/Track Wishlist/Existing Tracks|here]] instead? A note for these people who like to repeat tracks on the new wishlist: ''there is a chance it will get rejected, even though it's technically already in the game.'' You want to take that chance? :P <br><br />
[[User:Zilla|Zilla]] 16:12, 14 November 2012 (UTC)<br />
<br />
:Since v1.02 is technically still beta, unless the tracks have been explicitly approved of (not just being added to the beta), they can be removed at any given notice. We also keep flagged notes for the track creators to read so that they know why their tracks might not make it into the pack and what they can do to improve their chances. --[[User:Torran|Torran]] 20:54, 14 November 2012 (UTC)<br />
<br />
::Looking back, I do see multiple versions of some ports in CTGP, like SNES Rainbow Road and some SNES Bowser Castles. I realize this is still a beta, but I haven't seen removed tracks before. I do think that some courses are really old and I wouldn't be surprised if some were removed. I'm still a little confused. Should I move my SNES Choco Island 2 to the wishlist? The other one is in CTGP, but it is old. Mine was added before to a list. <br><br />
::[[User:Zilla|Zilla]] 21:17, 14 November 2012 (UTC)<br />
<br />
:::If your track is new to the CTGP and it's not an update of an old track then it goes in the New Tracks section. Your SNES Choco Island 2 is not an update of Butt's and it's not been in the CTGP yet so it can go in the New Tracks section. --[[User:Torran|Torran]] 21:25, 14 November 2012 (UTC)<br />
<br />
==Fixed tracks==<br />
Just wondering, if a track got "needs fixes" as review and I fixed the track, where do I have to put it? "New tracks" doesn't work because it isn't new, "updated tracks" either because it wasn't in the CTGP before and if I just add to the notes that I fixed it now it may not be seen. --[[User:NiAlBlack|NiAlBlack]] 00:05, 30 December 2012 (UTC)<br />
:Move the track from the "Reviewed for 1.03" section to the "Added After Latest Stream" section. --[[User:Torran|Torran]] 00:20, 30 December 2012 (UTC)<br />
<br />
==Unreviewed tracks==<br />
Hmm... Lately I've seen some CT's in the track wishlist staying unreviewed so I'm asking if you can move those CT's to ''Added after latest stream''? Or do they just stay unreviewed? --[[User:MitsySueG24|MitsySueG24]] 13:47, 31 January 2013 (UTC)<br />
<br />
: 1. I hope you realize you just broke another rule: editing the [[User Talk:KHacker35000vr|same page]] twice in a row within 15 minutes is forbidden.<br />
: 2. Unreviewed tracks stay unreviewed until either Bean or Chadderz edit their statuses stating otherwise.<br />
: 3. Your signature is unhelpful; it has no date. Try making signatures by typing this (without the quotations): <nowiki>"--~~~~"</nowiki><br />
: 4. This is how a signature is supposed to look:<br />
: --[[User:Torran|Torran]] 03:07, 31 January 2013 (UTC)<br />
<br />
:: So your basically telling no one can move the unreviewed CT's to the latest stream?<br />
:: --[[User:MitsySueG24|MitsySueG24]] 13:47, 31 January 2013 (UTC)<br />
<br />
::: You may wish to restate your question in a different manner. If I interpret your question as adding CT's to the latest stream table, anyone can add CT's to the latest stream table provided that the CT meets the minimum requirements for entry (use your common sense on this one). The existing contents of the table itself stay unmodified. --[[User:Torran|Torran]] 14:27, 31 January 2013 (UTC)<br />
<br />
Some tracks stayed unreviewed in "Reviewed for 1.03 (Stream 1)". Can I move them to "Added after latest stream"? -- [[User:NiAlBlack|NiAlBlack]] 22:15, 7 February 2013 (UTC)<br />
<br />
:I guess that's acceptable if you really want them to be resubmitted for analysis, just don't delete them from the other section. -- [[User:WorldsBoss|WorldsBoss]] 22:35, 7 February 2013 (UTC)<br />
<br />
==SNES Rainbow Road==<br />
Actually NiAlBlack replacing the Teknik version is not simply my opinion. It has long been discussed in the CT Creators Skype group along with on Bean's streams in the past that any new (and better) version of SNES RR would replace Teknik's version rather than Tock's one. This was the general consensus from all involved. -- [[User:WorldsBoss|WorldsBoss]] 15:43, 27 February 2013 (UTC)<br />
<br />
Well, my opinion is, replace all or replace none! All versions of SNES Rainbow Road are not that good for different reasons. All of them use bad textures and MrBean's and also Teknik's version don't have proper texture mapping. Also Tock's version has those flat item boxes which don't give you an item all around the course, which isn't really good. Some of you might say, you can't cut out SNES Rainbow Road by MrBean, because it's a classic CT, but I really think we got to move on, like many other CT's that still remain in CTP, it's design is simply outdated, and if someone wants to play these oldies, someone should simply release a "CTGP Classic". -- [[User:NiAlBlack|NiAlBlack]] 19:50, 27 February 2013 (UTC)<br />
<br />
:I think Tenik's should go. However, I do like the idea of a "CTGP Classic". Kinda reminds me of Wiimm's Mario Kart Wii Fun distributions, except it would be all classic tracks. Nice idea there, NiAlBlack. [[User:HerbertMcHoover|HerbertMcHoover]] 20:52, 27 February 2013 (UTC)<br />
<br />
::* [[SNES Rainbow Road (MrBean35000vr & Chadderz)]]: not leaving, since they made the distribution itself. This is not the only reason, because it's different from other SNES RRs in the fact that it's scaled bigger and the turns aren't sharp, so the gameplay is different.<br />
::* [[SNES Rainbow Road (Teknik)]]: chronologically, it came out after MrBean's version. It was good, but now it's outdated, because of the next version. This will likely be booted out of CTGP-R.<br />
::* [[SNES Rainbow Road (DasFragezeichen & Tock)]]: best version resembling the classic SNES design. Also, it's UV mapping is better than Teknik's. Um... of course the item box textures on the ground don't work, since it's a throwback to how you'd see it in [[Super Mario Kart]]... There are even coin textures on the road. There are ''plenty'' functioning item boxes in the course itself.<br />
<br />
::There are some other cases where one port is significantly different than the other, such as [[GBA Sky Garden]] and [[SNES Bowser Castle 2]]. There is no reason to replace any track '''simply because it's old or for the sake of only having one port of a ported track'''. As for Teknik's SNES RR, it's the same scale as Tock's, so there is no real gameplay difference and Tock's is more detailed. Of course Teknik's will get booted. You just need to inspect the courses some more... In the end, MrBean gets the final say.<br />
::[[User:Zilla|ZillaSpaz]] 02:38, 28 February 2013 (UTC)<br />
<br />
==Updating an old track==<br />
I'm sorry I thought I have to put yes when I have updated the course. That it turns green and they know that a new version is available. So please don't think I'm lying. It was just a mistake :)<br />
<br />
--unsigned comment by [[Super-Daisy55]] ([[User talk:Super-Daisy55|talk]]) 17:15, May 21, 2013 (UTC)<br />
<br />
:You only put green if you updated a course '''after an older version was already accepted'''. By the way, check your course talk page; you did not fix all the bugs.<br />
:[[User:Zilla|ZillaSpaz]] ([[User talk:Zilla|talk]]) 21:44, 21 May 2013 (UTC)<br />
<br />
== Unreviewed and Reviewed Track Updates Section ==<br />
<br />
Should there be a section where reviewed tracks are updated? This will be less confusing and messy. --[[User:MitsySueG24|MitsySueG24]] ([[User talk:MitsySueG24|talk]]) 19:32, 24 October 2013 (UTC)<br />
<br />
== Track Review/Issues ==<br />
<br />
Besides the fact that I don't understand why you suggest "improvements" the author clearly disagrees with, I believe that column is useless. "Minor KCL issues." Well what is the author supposed to do? look at 10000 triangles and look for it? Why not post '''real''' issues on the tracks talk page and show the author where those are.<br />
<br />
[[User:Tock|Tock]] ([[User talk:Tock|talk]]) 17:12, 24 July 2018 (UTC)<br />
<br />
:I revived this page a few days ago, cause I was unhappy how the CTGP Tester Team kept record about accpeted and rejected tracks and the encountered issues while testing. I totally agree that all issues should be reported on the tracks Talkpage or should be directed to the track creator via Discord or other stuff. But to be honest after a normal CTGP track test a lot of issues are reported by the testers. So far they mostly were reported on Discord and then got lost over the time OR were in most times reported to the author via Discord immediately as this is the prior form of communication for the MKW community today. So this page is just a quick summary of the reasons why the tester team rejected a track for CTGP. After cleaning up the page and moving dozens of tracks from the last 2 years in the correct category i only filled in a very very short comment on each track due to the amount of tracks I needed to comment on. (That's why all rejected tracks that are not up to current CTGP standards simply got the same comment copy pasted on them!) For the first update of this page after our last big track test on July 23rd a lot better and more detailed rejection reports were added (some with video proof). So the unclearness of some reports were only due to my limited motivation to write detailed summaries for so many tracks. <br />
:For the special case of your "minor KCL issues": I bet you mean GCN Wario Coloseum. I only wrote the comment based on the issue that Leseratte and Wiimm reported on your thread on wii-homebrew.com, so I knew you that you knew what KCL issues were meant. Afaik that issue that was reported lately is currently the only rejection reason for CTGP. All stuff that is commented on your tracks is stuff you definetly already know about. <br />
:Overall I'm not really sure if reviving this page was such a good idea but we will see how it turns out. Let's give it a try. it could be really helpful for CTGP tester team and track authors, as well as all people who want to know why their favorite track is not in CTGP, like for example the Electric Shredder. [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 08:51, 25 July 2018 (UTC)<br />
:: Yes in theory the idea is good, but this all depends on the testers (not only you). Problems should be well documented (so the talk page) so not only the Discord CT authors know about it. Also this would help people if the author has abandoned the track. <br />
::[[User:Tock|Tock]] ([[User talk:Tock|talk]]) 13:06, 25 July 2018 (UTC)<br />
<br />
::: I noticed all the reject reasons. So I have some questions:<br />
:::* Does it mean, that all old tracks that matches at least one of these reasons are dropped from CTGP? If not: Why discriminating new tracks by rules?<br />
:::* If I see reasons as "not trickable" or "too much trickable": The tester team does not accept the the creative part of the authors. Maybe it's an authors will to add tricks at exact that places he added them. In this point you can critic or ask, but rejection is arrogant and brazen.<br />
:::* "Rejected because of wine glasses": really? What about fall downs? They are much more dangerous than wine glasses. And what about the monsters of tracks (e.g. goombas, user made monsters)? *lol*<br />
:::* "General design issues." This helps the author very much (irony!). Please add all issues add the discussion page of the track.<br />
::: It seems, that creativity in unusual parts are not welcome, but only for new tracks. I can't believe it!!<br />
::: Overall, you can critic, and then at the discussion pages. But forcing others to edit tracks without talking to the authors is a very bad way, because the authors has nbo change to react and some edits are really bad (because of hurry?).<br />
::: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 10:00, 28 July 2018 (UTC)<br />
<br />
:::: "Too many thwomps and zapppers, delete some of them to make it easier"<br />
:::: Really? After removing wine glasses, other objects should be removed? The number of wine glasses, thwomps or zappers and of other objects is a creative decision of the creator. After removing all of them, the character of the track changed. I have no problems, if anyone want to fix technical issues. But this kind of impact to change the creative part of a track is really bad. Do you want to stop the creativity of the community?? Should a handful of people decide about the creativity?? <br />
:::: So you like it, if change your tracks, so that they get a new characteristics? <br />
:::: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 16:19, 30 July 2018 (UTC)<br />
<br />
Hello, I just want to explain my thoughts about this since it seems to be a big issue right now. First of all I should say that I do not believe anyone intended to offend anyone by the comments they put, so I'm sorry if any authors have been upset by this. To clarify our 'testing team' is actually more like a 'track selection team'. They do not just test the tracks, but also judge them. We have asked them to do this so that it is not always MrBean's opinion that wins, they can advise him. The team consists of people from different parts of the community too, so hopefully their opinions are based on group consensus. <br />
<br />
When they make comments like 'too many x, not enough y' I believe what they are really saying is 'we have decided not to accept this track into ctgp because we feel there is too much x and not enough y'. If the author decided to then change their track, then maybe the reviewer's decision would change. At the end of the day though, it does remain the author's decision. Perhaps in some cases there may be an unofficial update if the author has left the community, but I hope they would follow the usual rules on this. If the rules have been breached then I apologise and I'd suggest we make any offenders aware of the Wiiki rules.<br />
<br />
Track selection is always a controversial topic; authors feel their tracks should be in, we may think differently. We're not always right. At the end of the day just as the tracks belong to the authors, the pack belongs to us and we will pick the tracks we want to. Hopefully though, everyone can remain friendly about this.<br />
<br />
[[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:17, 31 July 2018 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=136270User talk:Chadderz2018-05-30T10:05:05Z<p>Chadderz: /* Wii image FST parsing */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)<br />
<br />
:: Thanks for your answer. I'll try adding the free() call to the module to see. I know it's not that much space, but it would have the advantage that one could just place all mods as MOD_REL without needing to find out if the code is in the DOL or the REL (if this is unknown), and without having to worry about space. Or does MOD_DOL have any other advantage over MOD_REL when space is of no concern because I free() it?<br />
:: For the menu thing, if you have never changed anything about navigation but the game still recognizes the old special cup and the old lightning cup to be in the same row without any code or BRCTR mod, the only thing left could be position and size - but then why doesn't it select the arrow? In the main menu, you are perfectly able to press "down" on any of the "2 player, 3 player, 4 player" buttons to get to the MKWii channel. Maybe the left/right buttons' height is just a few pixels too low so the game doesn't recognize that these buttons stretch over two rows? I'll try making the arrow buttons a bit larger then. <br />
:: The thing about memmem() is unfortunate. I wanted to use it to check the existance of a file on the disc by searching for \x00filename\x00 in the FST. Do you know where the game routine to open a file on disc is, so I could use that to check for existance of a file on-disc? When I tried to trace the code opening a file I always ended up in the general disc read function reading blocks, and not something like open("/Race/Course/whatever.szs") which I could use ...<br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:25, 14 October 2017 (UTC)<br />
<br />
:: About what determines which next button is selected, I think it's also in the BRCTR, but I'm not really sure in which value it depends. I remember that I modified this in my Race.szs pause menu, and the order didn't exactly changed, but it messed up and when pressing down or up it just skipped one button: http://avsys.xyz/pause_menu.avi —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:54, 14 October 2017 (UTC)<br />
<br />
::: Interesting. Do you still happen to have that BRCTR somewhere? Could the BRLYT be related to this, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 11:59, 14 October 2017 (UTC)<br />
::: @Chadderz would it be possible that the game uses some "internal size" for that? Maybe the "scale" in the BRCTR is just for display and they use the internal default size for navigation? I'll try rescaling the arrows to 1.0 and instead move them down a bit ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:19, 14 October 2017 (UTC)<br />
<br />
::: This is going to be veeery difficult ... I have just looked into the main menu BRCTR to find out how Nintendo does this - every time Nintendo has a block of buttons navigating onto a single button (like the 6 cups onto each of the arrows), they put the block of buttons into its own BRCTR. That means, they would have implemented "load arrow left, load another BRCTR with 6 cups, load arrow right" into that one pane instead of loading every single cup icon at the same time as the arrows. That means one would have to hook into the generic game code handling the navigation and implementing an edge case for exactly this menu and that is probably outside of my skills ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:42, 14 October 2017 (UTC)<br />
<br />
:::: Here's the BRCTR if you still need it: http://avsys.xyz/PauseMenuTimeAttack.brctr —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:28, 15 October 2017 (UTC)<br />
<br />
: I have found another solution: I have modded the CTCODE so pressing "right" on the two right cups or "left" on the two left cups does the scrolling. No need to select the arrow button (that can only be pressed with the wiimote pointer with that change), so this works in both rows. Only problem is that the track list below doesn't update while scrolling. It didn't do that before either, but the "arrow" has no tracks anyways. Do you happen to know which of the dozen functions in menu.mod (or in the game itself?) handles just refreshing the track list and nothing else? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 15:00, 14 October 2017 (UTC)<br />
<br />
:: Regarding MOD_DOL vs MOD_REL, the only thing to worry about is timing; MOD_DOL applies before any game code is run, whereas MOD_REL will apply shortly after StaticR.rel has loaded. Thus if you were patching say <code>OSCreateThread</code> using MOD_REL, only threads created after that time would use your mod. As for deciding whether an address is StaticR.rel or main.dol, that's actually trivial, below 0x80400000 is DOL, above is REL. The true cut off between the two is different, but fortunately there is a large gap between the two, so that test will always give the right answer. Most things we want to edit are in StaticR.rel, so what I tended to do in ct-code is use MOD_DOL to transfer large routines to the early RAM, then branch to them using MOD_RELs to keep those small.<br />
<br />
:: Regarding <code>memmem</code>, yes that is unnecessary for that, the game obviously does contain FST parsing code. If you didn't already know Twilight Princess is very useful in that the game disk contains a symbol table for the entire game's code. Thus if you own and dump that game you can find out what library routines exist and what they look like, then search for the equivalents in other games. I note that game has a method called <code>DVDConvertPathToEntrynum</code> so I speculate that will suffice for an existence check on a file. A quick look suggests it has one parameter; presumably the path in r3 and returns the index into the FST of the file or -1 for non existent files. I'd say it looks like that method is at 8015df4c in RMCP.<br />
<br />
:: Regarding the menus, I don't know where the game's method to refresh the track list is; we avoid needing it by having arrow buttons as you note. Bean does know where the method to change the text on an interface is, so perhaps if you ask him for that and breakpoint it, the track refresh method will be the one calling it.<br />
<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:14, 15 October 2017 (UTC)<br />
<br />
::: Thanks for the <code>DVDConvertPathToEntrynum</code> function, I'll try that. Now that you remember me of Twilight Princess, I have already heard that this game has debug symbols and I planned on buying it. That function sounds like it does what I want it to do. Bean has already told me the function to draw a BMG text to a panel, it's at 8063DDB4 PAL. I'll look into its call stack to see if I find a function refreshing the whole list. Thanks! -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:30, 15 October 2017 (UTC)<br />
<br />
Another quick question, the ct-code (at least, MKW Fun with the ct-code does) seems to crash when you play a 4-player offline VS race and multiple players select a mii to drive. The crash happens around 80601C70 PAL because of a "bctrl" to 0. Do you have an idea what causes this? Is this because of the ct-code or because of something else? Did CTGP 1.03 have this problem as well and if yes, how did you fix it? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:19, 16 October 2017 (UTC)<br />
<br />
: It's not possible to play 4 Player mode in ctgp anyway. It crashes as soon as you select 4p mode from the first menu. [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:32, 16 October 2017 (UTC)<br />
<br />
:: Wasn't this fixed in 1.03.1044? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:36, 16 October 2017 (UTC)<br />
<br />
::: It's broken again for a long time [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:49, 16 October 2017 (UTC)<br />
<br />
:::: As far as we know the 4 player freeze(s) are all to do with memory exhaustion. The cup icons increase the memory consumption too far, <code>malloc</code> fails and the game does something with <code>NULL</code>. We're looking into optimisations to avoid this such as changing the format of the icons. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 17 October 2017 (UTC)<br />
<br />
::::: The game requires that much memory it is unable to load ~50 small cup icons into RAM? Then how is it able to load multiple megabytes of tracks? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:15, 17 October 2017 (UTC)<br />
<br />
:::::: Because the game doesn't actually have full use of continuous RAM and an implementation of <code>malloc</code>. Memory allocation is much more complicated from what I've seen involving the various heaps each with a given capacity. If one of those fills up then further allocations to that heap will fail. So the game can run out of memory with many megabytes free. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]])<br />
<br />
: It still freezes with only 14 cups. Is this possible, that 14 cups plus whatever the game tries to allocate is still less than what ~50 cups need? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 20:41, 18 October 2017 (UTC)<br />
<br />
::The main culprit, I think, is ct_icons.tpl, which holds one 128x128 RGB5A3 icon for each cup (plus the two arrows). Maybe it's possible for the game to use 64x64 cup icons instead, which can cut the memory usage by 75% per cup. A BRLYT and/or BRCTR edit will be necessary though. [[User:Aplumafreak500|Aplumafreak500]] ([[User talk:Aplumafreak500|talk]]) 16:36, 19 October 2017 (UTC)<br />
<br />
::: Yes, we suspect ct_icons.tpl. I suspect it is copied to some small heap somewhere. Our thought was to change the format to CMPR, though this would imply a code change to CT-CODE. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:26, 22 October 2017 (UTC)<br />
<br />
:::: Wouldn't it be easier to make the game copy that to a larger heap / somewhere else where there is enough space? --[[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:34, 22 October 2017 (UTC)<br />
<br />
::::: Perhaps, but given we don't know where it's going in the first place, that may not be so easy. Changing texture formats is easy. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:59, 22 October 2017 (UTC)<br />
<br />
== SFP Backups ==<br />
<br />
Hi, Chadderz. I was wondering if you had a full backup of all the mods from the SFP server. [[User:Bri|Bri]] ([[User talk:Bri|talk]]) 01:42, 29 October 2017 (UTC)<br />
<br />
: Yes, though not in a sensible form. Stupidly the server stored the SFPs in a weird format which I can't convert back to SFP easily. Is there something in particular you were looking for? [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:21, 3 November 2017 (UTC)<br />
<br />
== Codes and Edits ==<br />
Please check this out: [[Talk:MKW Hack Pack#Codes_and_Edits Codes and Edits]]<br />
<br />
== Wii image FST parsing ==<br />
<br />
Hi Chadderz, I am trying to write a Wii app which (among other things) reads a specific file from the game disc. I am using the di.c source code from your Brainslug app for the disc access, and I was already able to read the disc FST, parse it, search for the file I want to open and get its offset and length. However, when I try to read that file using DI_Read with the offset from the FST, no matter if I shift the offset by 2 bits or not (sometimes this is required, sometimes it isn't), the Wii still loads something else and not the file I wanted to load. I tried asking Wiimm since he has a lot of experience with Wii ISOs, but the process of reading an ISO file on a computer and a Wii disc through the IOS methods seems to be quite difficult. I figured you might be more likely to be able to help me with this problem. Do you know what exactly one is supposed to do with the offsets from the disc FST in order to read actual files and not just junk? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 20:00, 29 May 2018 (UTC)<br />
<br />
: Hi Leseratte. I think there are lots of examples of applications which do this, I believe the CTGP implementation is based on libfst but I can't find that library online. Fortunately there is a copy in [https://sourceforge.net/p/wiixplorer/code/HEAD/tree/trunk/source/DiskOperations/fst.c WiiXplorer's source code], although that implementation seems to do all the decryption of the disc itself which is unnecessary so perhaps it is a bad example. For the purposes of the fst you do need to shift by 2 bits in all cases, but depending on the methods you're using to access the disc that may be done automatically. Perhaps the mistake you are making is not calling OpenPartition (DI_OPENPART) correctly. If I recall the Read calls are relative to a partition, so you must open that first.</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=CTGP_Revolution/Translation&diff=135969CTGP Revolution/Translation2018-05-27T15:34:45Z<p>Chadderz: New in-game messages, plus some old ones we seem to have forgotten to translate!</p>
<hr />
<div>{{CTGP Revolution/Translation}}<br />
<br />
== Introduction ==<br />
<br />
In order to create a better and more professional game experience for players from all languages, [[MrBean35000vr]] and [[Chadderz]] request that people who are fluent in foreign languages help out by translating the game text that we have modified.<br />
<br />
Thanks for helping!<br />
<br />
== Language Wishlist ==<br />
<br />
We are adding in languages new to the game. This will require someone or several people to translate ALL of the game text. If you're interested please add an entry to the table below.<br />
<br />
The translations are happening [[CTGP Revolution/Translation/Full|here]].<br />
<br />
{{textbox|red center|Note|Only add languages that are '''not''' present in the original Mario Kart Wii}}<br />
<br />
{| class="wikitable"<br />
! Language !! Translated by !! Status<br />
|-<br />
| Dutch || [[User:KHacker35000vr|kHacker35000vr]], [[User:Itsame934|itsame934]] || {{yes|Translation Complete}}<br />
|-<br />
| Portuguese || [[User:Witch|Witch]] || {{yes|Translation Complete (PAL)}}<br />
|-<br />
| Portuguese (Brazil) || [[User:AnEoTselkie|anEoTselkie]], [[RoGamer]], [[User:DarkShadow_BR|DarkShadow_BR]] || {{yes|Translation Complete (NTSC)}}<br />
|-<br />
| Russian || [[User:CyberMan|CyberMan]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Greek || [[User:MrSkopelos27|MrSkopelos27]], [[User:Sarantis|Sarantis]] || {{yes|Translation Complete}}<br />
|-<br />
| Polish || [[User:Szymbar15|Szymbar15]], [[User:Piotrek1113|Piotrek1113]] || {{yes|Translation Complete}}<br />
|-<br />
| Finnish || [[User:Gskartwii|Gskartwii]] || {{yes|Translation Complete}}<br />
|-<br />
| Swedish || [[User:Mahmoud15|Mahmoud15]], [[User:Markus15|Markus15]], [[User:Samatar15|Samatar15]], [[User:Sup3rsmash8|sup3rsmash8]], [[User:Magnusbon|Magnusbon]], [[User:Darkie|Darkie]], [[Wexos]] || {{yes|Translation Complete}}<br />
|-<br />
| Korean || [[User:Aiden|Aiden]], [[User:DDinghoya|DDinghoya]], [[User:Gree|Gree]] || {{yes|Translation Complete}}<br />
|-<br />
| Czech || [[User:Lukinoz|Lukinoz]], [[User:JaGoTu|JaGoTu]], [[User:Matojeje|Matojeje]], [[User:Řřřřřřřřř|Řřřřřřřřř]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Albanian || [[User:TropicalDrop99|TropicalDrop99]] || {{no|Cancelled}}<br />
|-<br />
| Danish || [[User:J0nas1|J0nas1]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Catalan || [[User:ThePlacidTiger|ThePlacidTiger]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Hungarian || [[User:Smileyhead|Smileyhead]] || {{no|Cancelled due to data loss}}<br />
|}<br />
<br />
== Translations ==<br />
<br />
{{textbox|red center|Note|Where it matters, translations are permitted to have NTSC-U and PAL variants.<br />For example: (NTSC) Aprieta A para continuar. (PAL) Pulsa el botón A para continuar.}}<br />
<br />
=== Splash Screen ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| Welcome to '''Mario Kart CTGP Revolution''' || Welkom bij '''Mario Kart CTGP Revolution''' || Bienvenue dans '''Mario Kart CTGP Revolution''' || Willkommen zu '''Mario Kart CTGP Revolution''' || Benvenuto su '''Mario Kart Wii CTGP Revolution''' || ようこそ、マリオカートWii[カスタムコースグランプリ]へ! || '''마리오 카트 CTGP Revolution''' 에 오신것을 환영합니다! || Bem-vindo ao '''Mario Kart CTGP Revolution''' || Добро пожаловать в '''Mario Kart CTGP Revolution''' || Bienvenido a '''Mario Kart Wii CTGP Revolution'''<br />
| Καλώς ορίσατε στο '''Mario Kart CTGP Revolution''' || Witamy w '''Mario Kart CTGP Revolution''' || Tervetuloa '''Mario Kart Wii CTGP-Revolution'''iin || Välkommen till '''Mario Kart CTGP Revolution''' || Vítejte v '''Mario Kart CTGP Revolution''' || Mirë se erdhe te '''Mario Kart CTGP Revolution''' || Velkommen til '''Mario Kart CTGP Revolution''' || Benvingut a '''Mario Kart CTGP Revolution''' || Üdv a '''Mario Kart CTGP Revolution'''-ban!<br />
|-<br />
| Version 1.02.0000 || Versie 1.02.0000 || Version 1.02.0000 || Version 1.02.0000 || Versione 1.02.0000 || バージョン1.02.0000 || 버전 1.02.0000 || Versão 1.02.0000 || Версия 1.02.0000 || Versión 1.02.0000<br />
| Έκδοση 1.02.0000 || Wersja 1.02.0000 || Versio 1.02.0000 || Version 1.02.0000 || Verze 1.02.0000 || Version 1.02.0000 || Version 1.02.0000 || Versió 1.02.0000 || Verzió 1.02.0000<br />
|-<br />
| I'm done tinkering with your game now; it should load Custom Tracks. || Ik ben klaar met het prutsen aan de game; nu zou het zelfgemaakte banen moeten laden. || J'ai fini de bricoler votre jeu; il devrait désormais pouvoir charger les Custom Tracks. || Ich bin fertig mit deinem Spiel, es sollte jetzt Custom Tracks laden. || Ho finito di modificare il gioco; ora dovrebbe caricare le Custom Track. || ゲームのデータ編集が完了しました。 || 게임을 손보는것은 끝났습니다. 이제 커스텀 트랙을 로딩 할 수 있습니다. || (NTSC) Terminei de modificar seu jogo; agora deve carregar as Custom Tracks.<br />(PAL) Já acabei de modificar o teu jogo; agora deve carregar as Custom Tracks || Я закончил работать с твой игрой, теперь она может запускать пользовательские трассы. || (NTSC) Terminé de modificar tu juego; ahora las Custom Tracks deberán cargarse.<br />(PAL) He acabado de modificar tu juego; ahora los Custom Tracks deberían cargarse.<br />
| Τελείωσα να χαρχαλεύω με το παιχνίδι σας, θα πρέπει τώρα να φορτώσουν τα Custom Tracks. || Już skończyłem pracować nad twoją grą, powinna ładować Własne Trasy. || Olen nyt näperrellyt pelisi kanssa; sen pitäisi ladata CT:t. || Jag har mixtrat klart med ditt spel; det borde ladda Custom Tracks. || Pozměnil jsem Vaši hru, už by měla načítat upravené tratě. || Jam i përfunduar me lojën tënde, Custom Trackat duhen të punojnë. || Jeg er færdig med at rode med dit spil nu, det burde indlæse Custom Tracks. || He acabat de modificar el teu joc; els Custom Tracks haurien de carregar-se. || Befejeztem a játék módosítását; elvileg már be tudja tölteni a Nemhivatalos Pályákat.<br />
|-<br />
| A few things to be aware of: || Er zijn een paar punten waar rekening mee moet worden gehouden: || Quelques choses à savoir avant tout : || Ein paar Dinge, die dir bewusst sein sollten: || Alcune cose che dovresti sapere: || 注意事項: || 사용 전 몇 가지 아셔야 할 것: || (NTSC) Algumas coisas que deve saber:<br />(PAL) Algumas coisas a ter em conta: || Несколько вещей, что бы быть в курсе: || (NTSC) Algunas cosas que debes saber:<br />(PAL) Algunas cosas que deberías saber:<br />
| Μερικά πράγματα που πρέπει να προσέξετε: || Kilka rzeczy, których powinieneś być świadom: || Hieman juttuja, joita kannattaa välttää: || Några saker du borde vara medveten om. || Pár věcí, které byste měli vědět: || Disa gjëra që duhet te dish: || Nogle få ting du skal være opmærksom på: || Algunes coses a tenir en compte: || Ezeket jobb, ha tudod:<br />
|-<br />
| Ghosts will '''not''' save '''at all''' (even on original tracks) and personal leaderboards will not be updated either. || Ghosts worden „“niet““ opgeslagen (zelfs niet op de orginele banen) en persoonlijke ranglijsten worden niet bijgewerkt. || '''Aucun fantôme''' ne sera sauvegardé (y compris sur circuits Nintendo), et de même '''aucun record de temps''' ne sera émis ou mis à jour. || Geistdaten werden weder gespeichert, noch zur persönlichen Rangliste hinzugefügt. Das gilt auch für die Originalstrecken. || I fantasmi delle Prove a Tempo non verranno salvati in nessun caso (neanche sulle piste originali) e le classifiche non saranno aggiornate. || タイムアタックでカスタムトラックのゴースト・記録は保存されません。 || 고스트는 '''아예''' 저장되지 않습니다. (오리지널 트랙 32개도 마찬가지입니다) 또한 기록 순위, 베스트 랩까지 업데이트 되지 않습니다. || (NTSC) Os fantasmas '''não''' serão salvos (mesmo em pistas originais) e as tabelas de classificação também não serão atualizadas.<br />(PAL) Os fantasmas '''não''' serão guardados '''de todo''' (mesmo nas pistas originais) e as tabelas classificativas também não serão actualizadas. || Призраки '''не''' сохраняются '''вовсе''' (даже на оригинальных треках) и перональная таблица рекордов так же не будет обновлена. || (NTSC) Los fantasmas '''no''' podrán ser guardados (ni en las pistas originales) y las tablas de clasificación personales tampoco serán actualizadas.<br />(PAL) Los fantasmas '''no''' se guardarán (ni en los circuitos originales) y las tablas de clasificación personales tampoco serán actualizadas.<br />
| Φαντάσματα '''δεν''' αποθηκεύονται '''καθόλου''' (ούτε σε αυθεντικές πίστες) και ούτε προσωπικά κατατάξεις ανανεώνονται. || Duchy '''nie będą''' się '''wcale''' zapisywać. (Nawet na oryginalnych trasach), a twoje wyniki nie będą się aktualizować. || Haamut '''eivät''' tallennu '''ollenkaan''' (eivät edes alkuperäisillä radoilla), eikä persoonallisia tulostaulukoitakaan päivitetä. || Spöken kommer '''inte''' '''alls att''' sparas (även på originella banor) och personliga topplistor kommer inte heller uppdateras. || Duchové se '''nebudou''' ukládat (dokonce ani na originálních tratích) a osobní žebříčky se nebudou aktualizovat. || Të dhënat të fantazmave '''nuk''' kanë as me u ruajtur as me u shtuar ne renditjen personale. Kjo vlen gjithashtu per pista origjinale. || Ghosts vil '''ikke''' blive gemt '''overhovedet''' (heller ikke på originale baner) og personlige pointtavler vil heller ikke blive opdaterede. || Els fantasmes '''no''' es salvaran '''en absolut''' (fins i tot en pistes originals) i les taules de classificació personals no s'actualitzaran tampoc. || A szellemek '''egyáltalán nem''' fognak elmentődni (hivatalos pályákon sem), és a ranglistáid sem lesznek feltöltve.<br />
|-<br />
| You may go to Worldwide mode and Custom Tracks Worldwide mode; both function correctly. Please do not use glitches on Custom Tracks! || Je kan zowel wereldwijd als in de online mode voor zelfgemaakte banen meespelen; beiden hebben geen problemen. || Vous pouvez accéder aux modes en ligne 'Mondial' et 'Custom Tracks Mondial', sans problème. Veuillez ne PAS abuser des 'glitchs' pour tricher sur les Custom Tracks! || Du kannst am globalen Versus-Rennen und am globalen Custom Tracks-Rennen teilnehmen; beide funktionieren ohne Probleme. Bitte benutze keine Glitches auf Custom Tracks! || Puoi giocare online usando le funzioni Mondiale e Custom Track Mondiale; entrambe funzionano correttamente. Per favore, non usare glitch sulle Custom Tracks! || 世界、カスタムトラックの世界はどちらもえらぶことができますが、カスタムトラックの世界ではバグショートカットは使用しないでください。 || 세계의 누군가 모드와 CT세계의 누군가 모드를 플레이 하실 수 있습니다. 둘다 정상작동합니다. 글리치는 사용하지 마시기 바랍니다. || (NTSC) Você pode jogar no modo Mundial e no Custom Tracks Mundial; ambos funcionam corretamente. Por favor não use glitches nas Custom Tracks!<br />(PAL) Podes jogar no modo Mundial e no modo Custom Tracks Mundial; ambos funcionam correctamente. Por favor não uses glitches nas Custom Tracks! || Вы можете играть как вов Всемирном режиме, так и во Всемирном режиме с пользовательскими треками, оба режима работают правильно. Пожалуйста, не используйте глюки на пользовательских треках! || (NTSC) Puedes jugar en los modos Mundial y Custom Tracks Mundial; ambos funcionan correctamente. Por favor, ¡no uses glitches en Custom Tracks!<br />(PAL) Puedes jugar en los modos Mundial y Custom Tracks Mundial; ambos funcionan correctamente. Por favor, ¡no uses glitches en las Custom Tracks!<br />
| Μπορείτε να πάτε στην επιλογή Παγκοσμίως και στην επιλογή Custom Tracks Παγκοσμίως, και οι δύο λειτουργούν σωστά. Παρακαλώ μην χρησιμοποιείτε δυσλειτουργίες σε Custom Tracks. || Możesz zagrać na Własnych Trasach przez internet, lecz możesz grać także na oryginalnych trasach; obie opcje działają poprawnie. Proszę, nie używaj glitchów na Własnych Trasach! || Voi mennä maailmanlaajuiseen tai CT-maailmanlaajuiseen; kummatkin toimivat oikein. Ethän käytä glitchejä pelatessasi CT:itä! || Du kan spela i globalt läge och i Custom Track Globalt läge; båda fungerar korrekt. Var snäll använd inte buggar i Custom Tracks! || Můžete si vybrat mezi celosvětovým režimem buď s původními tratěmi nebo s upravenými tratěmi; oba fungují bezchybně. Prosím, nevyužívejte chyb nebo nechtěných zkratek v upravených tratích! || Ti mund te shkosh te menyra botëror dhe menyra botëror për Custom Tracka; te dyt funktionojnë. Te lutem, mos i përdor glitchat e Custom Trackave! || Du kan gå i Worldwide mode og Custom Tracks Worldwide mode, begge fungerer correct. Lad venligst være med at udnytte glitches på Custom Tracks! || Podrás utilitzar els modes Mundial i Custom Tracks Mundial; els dos funcionen correctament. || Online Hivatalos, és Nemhivatalos pályákkal is tudsz játszani; mindkettő tökéletesen működik. Kérlek, ne használd ki a Nemhivatalos pályák hibáit.<br />
|-<br />
| Note: Use of the Custom Tracks Worldwide mode could result in a ban from online play. || Het gebruik van de tweede optie kan resulteren in een ban voor het online spelen. || Note : l'usage prolongé du mode 'Custom Tracks Mondial' pourrait vous faire bannir des serveurs de jeu CWF Nintendo. || Achtung: Du könntest durch das Spielen von Custom Tracks-Global gebannt werden! || NB: L'uso della funzione Custom Track Mondiale può causare il ban dal gioco online. || 注意:カスタムトラックを使って世界のだれとでもをプレイするとBANをされる可能性があります。 || 주의: 커스텀 트랙을 오fl지널 게임 서버에서 플레이 하신다면 서버로부터 정지을 당하셔서 더이상 온라인 플레이를 못 하실 수도 있습니다. || (NTSC) Nota: O uso do modo Custom Tracks Mundial pode resultar em ser banido de jogar online.<br />(PAL) Nota: O uso do modo Custom Tracks Mundial pode resultar em seres banido de jogar online || Заметка: использование пользовательских трасс в онлайне может привести к бану вашей консоли в онлайн-играх.|| (NTSC) Nota: El uso del modo Custom Tracks Mundial podría causar que seas vetado del juego en línea.<br />(PAL) Nota: El uso del modo Custom Tracks Mundial puede resultar en un baneo del juego en línea (online).<br />
| Σημείωση: Η χρήση της επιλογής Custom Tracks Παγκοσμίως μπορεί ενδεχομένως να καταλήξει σε απαγόρευση χρήσης του Nintendo WFC. || Uwaga: używanie Własnych Tras przez internet może skutkować zablokowaniem z gry przez internet. || Huomaa: CT-maailmanlaajuisen pelaaminen saattaa aiheutta porttikiellon nettipeleihin! || Notering: användnig av Custom Track Globalt läget kan resultera i ett förbud från online-spel. || Poznámka: Používání upravených tratí v originálním Celosvětovém režimu může mít za následek ban ze závodění online. || Vëreje: Përdorimi e menyres botëror për Custom Tracka mund të rezultojë në një përjashtim nga lojë online. || Bemærk: Hvis du bruger Custom Tracks Worldwide mode, kan du risikere axt blive bandlyst fra online spil. || Nota: l'ús Custom Tracks Mundial pot resultar en una prohibició de jugar per l'internet. || Még valami: A Nemhivatalos pályák onlone való használata kitiltást eredményezhet.<br />
|-<br />
| Avoid finishing offline Grand Prixs on Custom Cups. It may corrupt save data. || Voorkom het voltooien van de offline Grand Prix in de toegevoegde bekers. Het kan de opgeslagen gegevens beschadigen. || Ne terminez pas de Grand Prix en solo sur une coupe de Custom Tracks. Cela peut corrompre vos données de sauvegarde. || Bitte keinen Offline-„Grand Prix“ durchspielen, weil dein Spielstand sonst beschädigt werden könnte. || Evita di finire Gran Premi offline con i Trofei Modificati. Potrebbero corrompere il salvataggio. || オフラインのグランプリでカスタムトラックを使用しないでください。データが破損する恐れがあります。 || 오프라인에서 커스텀 컵 그랑프리를 완주하지 마십시오. 데이터 손상의 원인입니다. || (NTSC) Evite terminar os Grandes Prêmios offline nas Copas Personalizadas. Isto pode corromper os arquivos salvos.<br />(PAL) Evita terminares os Grandes Prémios offline nas Taças Modificadas. Pode corromper os dados guardados. || Уникайте завершения оффлайн-гранпри в пользовательских кубках, это может привести к повреждению вашего сохранения. || (NTSC) Evita terminar una Copa de Custom Tracks en modo Grand Prix. Podría dañar los archivos guardados.<br />(PAL) Evita terminar los Grand Prix en Copas Custom. Podría estropear los datos de guardado.<br />
| Αποφεύγετε να τελειώνετε οφλάιν Γκραν Πρι σε Custom Κύπελλα. Μπορεί να διαφθείρει αποθηκευμένα δεδομένα. || Nie używaj trybu „Grand Prix” grając jako jedna osoba. Może zniszczyć twój zapis. || Vältä offline-GP:n loppua. Se saattaa korruptoida tallennustiedoston. || Undvik att avsluta offline Grand Prixs på Custom Cupper. Det kan förstöra sparad data. || Vyvarujte se dokončení offline Grand Prixu v upravených pohárech. Může to poškodit uložená data. || Shmange perfundimin e Grand Prixut offline me kampione custome. Ajo mund të dëmtojë të dhënat të ruajtur. || Undgå at færdiggøre offline Grand Prix'er på Custom Cups. Det kan ødelægge gemte data. || Evitar acabar Grand Prixs en Copas Custom. Podria corrompre les dades guardades. || Ha befejezel egy Nemhivatalos kupát offline, a mentésed megsérülhet.<br />
|-<br />
| It is recommended to enable the Save to SD card option in Riivolution to avoid corrupting normal Mario Kart save data. || Het is aanbevolen om de “Save to SD card” optie in Riivolution op “Enabled” te zetten, om te voorkomen dat de normale save wordt beschadigd. || Il est plus sûr d'activer l'option "Save to SD card?" dans Riivolution, afin d'éviter de pouvoir corrompre vos données Mario Kart stockées en local sur la Wii. || Es ist zu empfehlen, die Option „Save to SD card“ auf „Enabled“ zu stellen, damit keine Schäden verursacht werden. || Si consiglia di abilitare l'opzione “Save to SD card” di Riivolution per evitare che il salvataggio originale di Mario Kart si corrompa. || マリオカートWiiのセーブデータの破損をふせぐために、 Riivolutionのオプションでセーブデータの保存をゆうこうにすることをおすすめします。 || 오리지널 마리오 카트 저장 데이터 손상을 피하기 위해 Riivolution의 SD 카드 저장 옵션을 사용하는 것을 추천합니다. || (NTSC) É recomendado ativar a opção “Save to SD Card” (salvar no cartão SD) no Riivolution para evitar corromper os dados salvos do Mario Kart Wii normal.<br />(PAL) Recomenda-se que a opção “Save to SD Card” (guardar no cartão SD) esteja activada no Riivolution, para evitar corromper os dados guardados do Mario Kart normal. || Рекомендуется включить сохранения на SD-карту в опциях Riivolution для того, что бы не повредить ваши сохранения от оригинальной Mario Kart Wii|| (NTSC) Es recomendable poner en “Enable” la opción “Save to SD Card” (guardar en la tarjeta SD) para activarla en Riivolution y evitar que los datos normales de Mario Kart se corrompan.<br />(PAL)Es recomendable activar (cambiar a “Enabled”) la opción Guardar en la tarjeta SD (“Save to SD Card”) en Riivolution para evitar que los datos normales de Mario Kart se estropeen.<br />
| Συνιστάται η επιλογή «Αποθήκευση στην Κάρτα SD»(Save to SD card) να είναι ενεργοποιημένη για να αποφύγετε την διαφθορά κανονικά αποθηκευμένων δεδομένων Mario Kart. || Jeśli korzystasz z Riivolution, włącz opcję „Save to SD card”, by uniknąć zniszczenia zapisu. || Olisi suositeltavaa ottaa käyttöön SD-kortille tallennusasetus Riivolutionissa välttääkseen normaalin tallennustiedoston korruptoitumista. || Det är rekomenderat att aktivera spara till SD kort (save to SD card) alternativet i Riivolution för att undvika att förstöra normala Mario Karts sparade data. || Doporučujeme zapnout v Riivolution možnost "Save to SD card" (Ukládat na SD kartu), aby nedošlo k poškození uložených dat normální verze hry Mario Kart. || Është e rekomanduar për të mundësuar opsionin "Save to SD card" në Riivolution për të shmangur korruptimin të dhënat të ruajtur nga Mario Kart normale. || Det er anbefalet at slå "Save to SD card" funktionen til i Riivolution, for at undgå at ødelægge de gemte data for det normale Mario Kart. || Es recomanable que activis l'upció "Guardar a tarja SD" en Riivolution per evitar la corrupció de les dades guardades en Mario Kart normal. || Azt javaslom, hogy engedélyezd az SD Kártyára való mentést a Riivolutionben, hogy ne sérüljön meg a konzolon lévő Mario Kart mentésed.<br />
|-<br />
| Press A to continue. || Druk op A om door te gaan. || Appuyez sur A pour continuer. || Drücke A um fortzufahren. || Premi A per continuare. || 続けるにはAボタンを押してください。 || 계속하려면 A 버튼을 누르세요. || (NTSC) Pressione A para continuar.<br />(PAL) Carrega no botão A para continuar. || Для продолжения нажмите А || (NTSC) Aprieta A para continuar.<br />(PAL) Pulsa el botón A para continuar.<br />
| Πατήστε A για να συνεχίσετε || Kliknij “A” aby kontynuować. || Paina A jatkaaksesi || Tryck A för att fortsätta. || Stiskněte A pro pokračování. || Shtype A për të vazhduar. || Tryk A for at fortsætte. || Prem el botó "A" per continuar. || Nyomj A-t a folytatáshoz.<br />
|}<br />
<br />
=== Error Splash Screen ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| CTGPR Load Error || Fout bij het laden || Erreur de chargement CTGP-R || Fehler beim Laden || Errore di caricamento || CTGPR ロードエラー || CTGPR 로드 에러 || Erro ao carregar CTGPR || {{no|-}} || Error al cargar CTGPR.<br />
| Πρόβλημα στην φόρτωση CTGPR || Błąd wczytywania CTGPR || CTGP-R-latausvirhe || CTGPR Laddningsfel || Chyba při načítání CTGPR || {{no|-}} || CTGPR Indlæsnings Fejl || Error en carregar CTGPR || Hiba a CTGP-R Betöltésekor<br />
|-<br />
| Unfortunately, the CTGPR pack could not be loaded correctly. || Helaas kon de CTGPR niet correct worden geladen. || Hélas, le pack CTGPR n‘a pas pu être chargé correctement. || Leider konnte das CTGPR-Pack nicht geladen werden. || Sfortunatamente, CTGPR non può essere caricato correttamente. || CTGPRのロードに失敗しました。 || 슬프게도, CTGPR 팩을 제대로 로드할 수 없습니다. || (NTSC) Infelizmente, o pack CTGP não foi carregado corretamente.<br />(PAL) Infelizmente, o pack CTGPR não foi carregado devidamente. || {{no|-}} || Desafortunadamente, el pack CTGPR no se cargó correctamente.<br />
| Δυστυχώς, το πακέτο CTGPR δεν μπόρεσε να φορτώσει σωστά. || Niestety, paczka CTGPR nie mogła zostać wczytana poprawnie. || Valitettavasti CTGP-R-pakettia ei voitu ladata oikein. || Tyvärr, CTGPR-paketet kunde inte laddas korrekt. || Bohužel, balíček CTGPR se nepodařilo správně načíst. || {{no|-}} || Desværre kunne CTGPR pakken ikke blive indlæst correct. || Desafortunadament, el paquet de CTGPR no s'ha pogut carregar correctament. || A CTGP-R csomagot nem sikerült betölteni.<br />
|-<br />
| There are many reasons why this error can occur. You should check online for information about how to fix it. || Er zijn vele redenen hiervoor. Je kan online informatie opzoeken om het op te lossen. || Il existe diverses raisons possibles pour cette erreur. Allez chercher en ligne des informations à ce sujet pour une éventuelle solution. || Es gibt viele Gründe, warum dieser Fehler aufgetreten sein könnte. Du solltest online nach Informationen suchen, wie man diesen Fehler beheben kann. || Ci sono molti motivi per cui questo errore può capitare. Dovresti cercare informazioni online per risolverlo. || ロード失敗の原因はいくつかありまます。修正する方法については、オンラインで確認をしてください。 || 이 에러가 발생하는 데에는 많은 이유가 있습니다. 해결 방법에 대한 자세한 내용은 온라인으로 확인해 주십시오. || (NTSC) Há muitas razões que podem ter causado este erro. Você deve procurar buscar informação na internet sobre como solucionar.<br />(PAL) Há vários motivos que podem ter causado este erro. Deves procurar na Internet informação sobre como solucioná-lo. || {{no|-}} || Hay muchos motivos por los que este error puede ocurrir. Deberías buscar información en internet sobre cómo solucionarlo.<br />
| Υπάρχουν πολλοί λόγοι γιατί αυτό το πρόβλημα μπορεί να συνέβει. Θα πρέπει να κοιτάξετε πληροφορίες το διαδίκτυο για να το επισκευάσετε. || Jest wiele powodów, dla których ten błąd mógł się pojawić. Sprawdź informacje na temat twojego błędu w internecie. || On monia syitä, miksi tämä virhe tapahtuu. Sinun kannattaa tarkistaa Internetistä saadaksesi tietoja, miten tämän voi korjata. || Det finns många anledningar varför detta felet har uppstått. Du borde leta efter information online om hur man fixar det. || Je hodně možností, proč mohla tato chyba nastat. Doporučujeme zkusit vyhledat řešení problému online. || Ka shumë arsye se pse ky gabim mund të ndodhë. Duhet të shikosh në internet për informacion se si për të rregulluar atë. || Der er mange grunde til at denne fejl kan forekomme. Du burde tjekke online for information om hvordan man fikser det. || Hi ha moltes raons per les quals pot ocòrrer aquest error. Hauries de buscar més informació a l'Internet. || Ennek a hibának több oka is lehet. Próbálj rákeresni az interneten, hátha van rá megoldás.<br />
|-<br />
| Please turn off the Wii now. || Schakel nu de Wii uit. || À présent, veuillez éteindre la Wii. || Bitte schalte die Wii nun aus. || Ora spegni la Wii per favore. || Wiiの電源をoffにしてください。 || Wii 전원을 종료해 주십시오. || (NTSC) Por favor, desligue o Wii agora.<br />(PAL) Por favor, desliga a Wii agora. || {{no|-}} || (NTSC) Por favor, apaga el Wii ahora. <br />(PAL) Por favor, apaga la Wii ahora.<br />
| Παρακαλώ σβήστε το Wii τώρα. || Proszę, wyłącz Wii. || Sulje Wii nyt... || Var vänlig stäng av ditt Wii nu. || Teď prosím vypněte Wii. || Te lutem shkyme Wiin tash. || Sluk venligst Wii'en nu. || Apaga la Wii ara, si us plau. || Kérlek, kapcsold ki a Wii-d.<br />
|}<br />
<br />
=== Error Screen ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| Fatal Error. || Fatale fout. || Erreur fatale! || Schwerwiegender Fehler. || Errore fatale. || 致命的エラー。 || 중요 에러 발생 || Erro fatal. || {{no|-}} || Error fatal.<br />
| Καταστροφικό σφάλμα. || Fatalny błąd. || Kohtalokas virhe! || Allvarligt Fel. || Kritická chyba. || Gabim fatale. || Fatal Fejl || Error fatal. || Végzetes hiba.<br />
|-<br />
| The CTGPR pack has crashed. || De CTGPR is gecrasht. || Le pack CTGPR a planté, suite à une défaillance. || Das CTGPR-Paket funktioniert nicht mehr. || CTGPR è andato in crash. || CTGPRがクラッシュしました。 || CTGPR 팩이 충돌했습니다. || (NTSC) O pack CTGP falhou.<br />(PAL) O pack CTGPR foi abaixo. || {{no|-}} || El pack CTGPR ha fallado.<br />
| Το πακέτο CTGPR έχει καταστραφεί. || Paczka CTGPR zacięła się. || CTGP-R-paketti on kaatunut. || CTGPR-paketet har kraschat. || Balíček CTGPR zhavaroval. || Paketa CTGPR nuk punon me. || CTPR Pakken er crashet. || El paquet CTGPR ha fallat. || A CTGP-R csomag összeomlott.<br />
|-<br />
| Please turn off the Wii and seek assistance online. || Schakel de Wii uit en zoek online voor ondersteuning. || Veuillez éteindre la Wii et chercher de l‘aide en ligne. || Bitte schalte die Wii aus und suche online nach Hilfe. || Spegni la Wii e cerca assistenza online. || Wiiの電源をoffにし、オンラインで報告してください。 || Wii 전원을 종료하고 온라인으로 해결 방법을 찾으십시오. || (NTSC) Por favor, desligue o Wii e procure assistência online. (PAL) Por favor, desliga a Wii e procura assistência online. || {{no|-}} || (NTSC) Apaga el Wii y busca asistencia en línea.<br />(PAL) Apaga la Wii y busca asistencia en línea.<br />
| Παρακαλώ σβήστε το Wii και κοιτάξτε για βοήθεια σχετικά με την διαδίκτυο. || Proszę, wyłącz Wii i poszukaj pomocy w internecie. || Sulje Wii nyt ja etsi apua Internetistä. || Var vänlig stäng av ditt Wii och sök hjälp online. || Prosím, vypněte Wii a vyhledejte pomoc online. || Te lutem shkyme Wiin dhe kërko ndihmë në internet. || Sluk venligst Wii'en og søg hjælp online. || Apaga el Wii i busca informació a l'Internet. || Kérlek kapcsold ki a Wii-d, és keress segítséget online.<br />
|}<br />
<br />
=== Anti-cheat ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| Caught ya! || Betrapt! || La main dans le sac! <br>'''-OR, litterally-'''<br> On t'attrape! || Auf frischer Tat ertappt! || Beccato! || 検出! || 잡았다 요놈! || (NTSC) Peguei você!<br />(PAL) Apanhei-te! || {{no|-}} || (NTSC) ¡Te atrapé!<br /> (PAL) ¡Te pillé!<br />
| Σε τσάκωσα! || Mam cię! || Haa! || Fångade dig! || Mám tě! || Të kapa! || Fangede dig! || Te enxampat! || Most megvagy!<br />
|-<br />
| Oops. Someone has been messing with something that they shouldn't have. || Oeps, Iemand heeft ergens aangezeten waar niet aangezeten mag worden. || Tiens donc. Quelqu'un vient de toucher à quelque chose qu'il ne fallait pas. || Ups. Da hat wohl jemand versucht, etwas zu manipulieren. || Oops! Qualcuno stava facendo qualcosa che non avrebbe dovuto fare. || だれかが何らかのファイルを変えています || 저런! 누군가가 건들지 말아야 할 것을 건들였군요.. ||| (NTSC) Oops. Alguém andou mexendo em algo que não devia.<br />(PAL) Ups. Alguém andou a mexer em algo que não devia. || {{no|-}} || (NTSC) Ups. Alguien estuvo moviéndole a algo que no debía.<br />(PAL) Uups. Alguien ha estado haciendo algo que no debía. || Ουπς. Κάποιος πείραξε κάτι που δεν θα έπρεπε. || Ups. Ktoś tu mieszał z czymś, z czym nie powinien. || Hups! Joku on tehnyt jotain, mitä hänen ei olisi pitänyt tehdä... || Hoppsan. Någon har trasslat med något de inte borde ha gjort. || Jejda. Někdo se vrtal v něčem, v čem neměl. || Ups. Ndoshta dikush ka provuar të manipulon diçka. || Ups. Nogle har pillet ved noget som de ikke burde. || Ui, algú a ha estat movent alguna cosa que no havia de fe. || Hoppá. Valaki valami olyat piszkált meg, amit nem kellett volna.<br />
|-<br />
| If you have attempted to use cheat codes, please remove them. || Als je hebt geprobeerd om cheatcodes te gebruiken, schakel ze uit. || Si vous avez essayé d'utiliser des codes de triche, veuillez les désactiver. || Falls du Hacks oder Cheat Codes benutzt, deaktiviere sie bitte. || Se stavi cercando di usare qualche codice per barare rimuovilo, per favore. || チートコードを使用していたら、それはむこうにしてください || 만약 치트 코드를 사용하려고 시도하셨다면, 다시 원상태로 되돌려 놓으시고 사용하지 마십시오. || (NTSC) Se você tentar usar cheats (códigos), por favor remove-os.<br />(PAL) Se tentaste usar códigos de batota, por favor remove-os. || {{no|-}} || (NTSC) Si has intentado usar trucos (códigos), por favor, quítalos.<br />(PAL) Si has intentado usar trucos (hacks/cheat codes), por favor, desactívalos.<br />
| Αν προσπαθήσατε να χρησιμοποιήσετε κωδικούς (cheat codes), παρακαλώ αφαιρέστε τους. || Jeśli próbowałeś użyć kodów, proszę, usuń je. || Jos olet yrittänyt käyttää huijauskoodeja, poista ne. || Om du har försökt att använda fuskkoder, var snäll ta bort dem. || Pokud jste se snažili cheatovat, tak ty cheaty vypněte. || Nëse ti përdor hacks apo cheats, te lutem deaktivoji. || Hvis du har forsøgt at bruge snydekoder, så fjern dem venligst. || Si has intentat usar codis de trucs (cheat codes), desactivar si us plau. || Ha csalásokat használsz, kérlek távolísd el őket.<br />
|-<br />
| If you have modified a KCL or KMP file, please undo this change. || Als je een KMP of KCL hebt aangepast, maak deze verandering dan ongedaan. || Si vous avez modifié un fichier KCL ou KMP, veuillez le remplacer par son original. || Falls du eine KCL- oder KMP-Datei verändert hast, mache es bitte rückgängig! || Se hai modificato un file KCL o KMP, per favore, riporta tutto ció che hai modificato com'era prima. || KCLやKMPファイルを変更していた場合はそれを元にもどしてください || 만약 수정하신 KCL 또는 KMP 파일을 가지고 계신다면 파일을 원상태로 되돌려 놓으십시오. || (NTSC) Se você modificou um arquivo KCL ou KMP, por favor desfaça essa alteração.<br />(PAL) Se modificaste um ficheiro KCL ou KMP, por favor desfaz essa alteração. || {{no|-}} || Si has modificado algún archivo KCL o KMP, por favor, deshaz ese cambio.<br />
| Άμα έχετε τροποποιήσει ενα αρχείο KCL ή KMP, παρακαλώ επαναφέρτε το καvονικό αρχείο. || Jeśli modyfikowałeś pliki KCL albo KMP, usuń tą zmianę. || Jos olet muokannut KCL- tai KMP-tiedostoa, peruuta muutos. || Om du har modifierat en KCL- eller KMP-fil, var snäll ångra ändringarna. || Pokud jste upravili soubor s příponou KCL nebo KMP, vraťte ho, prosím, do původního stavu. || Nëse ke modifikuar një KCL ose KMP, te lutem ktheje këtë ndryshim. || Hvis du har redigeret en KCL eller KMP fil, så gør den venligst tilbage som før. || Si tens un arxiu modificat de KCL o KMP, desfer aquest canvi, si us plau. || Ha egy KCL vagy KMP fájlt módosítottál, kérlek csináld vissza.<br />
|-<br />
| Otherwise, please redownload the CTGP-R; it is corrupted. || Anders moet de CTGP-R opnieuw gedownload worden, deze versie is beschadigd. || Sinon, veuillez réinstaller le pack CTGP-R ; il est peut-être corrompu. || Anderenfalls lade CTGP-R neu runter, da diese Version beschädigt ist. || In caso contrario riscarica CTGP-R; è corrotto. || 原因がそれ以外であった場合は、何かのファイルが破損しています。もういちどCTGPRをダウンロードをしてください。 || 그렇지 않다면, 손상된 것이니 CTGP-R을 다시 다운로드 해 주십시오. || (NTSC) Se não, por favor baixe novamente o CTGP; está corrompido.<br />(PAL) Se não, por favor volta a fazer o download do CTGPR; está corrompido. || {{no|-}} || (NTSC) De otro modo, por favor descarga de nuevo el CTGP-R, ya que está dañado.<br />(PAL) Si no, por favor, descarga de nuevo el CTGP-R; está dañado.<br />
| Αλλιώς, ξανακατεβάστε το CTGP-R, έχει διαφθαρθεί. || W innym przypadku, pobierz CTGPR ponownie; jest zepsute. || Jos et, yritä ladata CTGP-R uudelleen; se saattaa olla korruptoitunut. || Annars, var vänlig att ominstallera CTGP-R; Den är förstörd. || V opačném případě si prosím stáhněte znovu celé CTGP-R; je poškozené. || Përndryshe, te lutem shkarkoje CTGP-R sërish; është e korruptuar. || Ellers, så download CTGP-R på ny, den er beskadiget. || D'una altra manera, tornar a descarregar; està danyat. || Egyéb esetben a CTGP-R-ed sérült; töltsd le újra.<br />
|-<br />
| Hold the power button for 5 seconds to turn off the Wii. || Houd de powerknop voor vijf seconden ingedrukt om de Wii uit te schakelen. || Maintenez enfoncé le bouton POWER de la Wii pendant 5 secondes pour l'éteindre. || Halte den Power-Knopf für 5 Sekunden gedrückt, um deine Konsole auszuschalten. || Tieni premuto il tasto Power per 5 secondi per spegnere il Wii. || 電源ボタンを5秒間押し続けてください。 || 전원 버튼을 5초간 눌러 Wii의 전원을 꺼 주십시오. || (NTSC) Mantenha o botão power pressionado durante 5 segundos para desligar o Wii.<br />(PAL) Mantém o botão power premido durante 5 segundos para desligares a Wii. || {{no|-}} || (NTSC) Mantén presionado el botón Power durante 5 segundos para apagar el Wii.<br />(PAL) Mantén pulsado el botón Power durante 5 segundos para apagar la Wii.<br />
| Πατήστε και κρατήστε το κουμπί λειτουργίας για 5 δευτερόλεπτα για να σβήσει το Wii. || Przytrzymaj guzik „Power” przez 5 sekund, by wyłączyć Wii. || Pidä virtanäppäin pohjassa 5 sekunnin ajan sammuttaaksesi Wiin. || Håll strömknappen inne i 5 sekunder för att stänga av ditt Wii. || Podržte tlačítko napájení na 5 vteřin pro vypnutí Wii. || Mbaje butonin te shtypur për 5 sekonda për të shkymur Wiin. || Hold tænd/sluk knappen nede i 5 sekunder for at slukke Wii'en. || Mantigues el botó Power durant cinc segons per apagar la Wii. || Tartsd nyomva a Bekapcsológombot 5 másodpercig a Wii kikapcsolásához.<br />
|}<br />
<br />
=== Menus and Races ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|- <br />
| By MrBean35000vr and Chadderz || Door MrBean35000vr en Chadderz || Par MrBean35000vr et Chadderz || Von MrBean35000vr und Chadderz || Creato da MrBean35000vr e Chadderz || MrBean35000vr、Chadderzによって作られました || 제작자: MrBean35000vr, Chadderz || Por MrBean35000vr e por Chadderz || {{no|-}} || Creado por MrBean35000vr y Chadderz<br />
| Από τον MrBean35000vr και τον Chadderz || Stworzone przez MrBean35000vr i Chadderz. || Tehneet MrBean35000vr ja Chadderz || Av MrBean35000vr och Chadderz || Vytvořili MrBean35000vr a Chadderz || Nga MrBean35000vr dhe Chadderz || Lavet af MrBean35000vr og Chadderz || Creat per MrBean35000vr i Chadderz || Készítette: MrBean35000vr és Chadderz<br />
|-<br />
<!-- Obviously the idea here is that English is replaced by the name of the language it's in! Leave the x y and z alone, MrBean and Chadderz will fill it in at the end. --><br />
| Translation to “English” by '''x''', '''y''' and '''z''' || Vertaling naar het Nederlands door '''x''', '''y''' en '''z''' || Traduit en Français par '''x''', '''y''', '''z''' || Übersetzung ins Deutsche von '''x''', '''y''' und '''z''' || Tradotto in Italiano da '''x''', '''y''' e '''z''' || 日本語 のほんやくは、'''x'''、'''y'''と'''z'''によりされました。 || '''x''', '''y'''와 '''z''' 에 의해 한국어로 번역됩니다 || Traduzido para Português por '''x''', '''y''' e '''z''' || {{no|-}} || Traducción al Español por '''x''', '''y''' y '''z'''.<br />
| Μετάφραση στα Ελληνικά από τους<sup>'''[1]'''</sup> '''x''', '''y''' και '''z''' (NOTE: <sup>'''[1]'''</sup> If one person translates and it's male use “τον”. If female use “την”.) || Przetłumaczono na Polski przez '''x''', '''y''' i '''z''' || Kääntänyt suomeksi '''x''', '''y''' ja '''z''' || Översatt till svenska av '''x''', '''y''' och '''z''' || Do češtiny přeložili '''x''', '''y''' a '''z''' || Përkthim në shqip nga '''x''', '''y''' dhe '''z''' || Oversættelse til dansk af '''x''', '''y''' og '''z'''. || Traducció al català per '''x''', '''y''' i '''z'''. || Magyarra fordította: '''x''', '''y''' és '''z'''<br />
|-<br />
| Custom Tracks Worldwide || Wereldwijd zelfgemaakte banen || Custom Tracks Mondial || Custom Tracks Global || Custom Track Mondiale || カスタムトラックの世界のだれとでも || CT세계의 누군가와 || Custom Tracks Mundial || {{no|-}} || (NTSC) Custom Tracks Mundial<br/> (PAL)Mundial de CTs<br />
| Custom Tracks Παγκοσμίως || Własne Trasy Globalnie || CT-maailmanlaajuinen || Custom Tracks Global || Celosvětově s upravenými tratěmi || Custom Tracka Botëror || Custom Tracks Verdensomspændende || Custom Tracks Mundial || Nemhivatalos Pályák<br />
|-<br />
| We're playing a CTGP! || Wij spelen een CTGP! || Nous faisons un CTGP! || Wir fahren einen CTGP! || Stiamo giocando un CTGP! || CTGPをしています! || CTGP 그랑프리 개인전을 플레이하고 있습니다! || (NTSC) Estamos jogando um CTGP!<br />(PAL) Estamos a jogar um CTGP! || {{no|-}} || ¡Estamos jugando un CTGP!<br />
| Παίζουμε ένα CTGP! || Gramy CTGP! || Pelaamme CTGP:tä. || Vi spelar en CTGP! || Hrajeme CTGP! || Ne jemi duke luajtur një CTGP! || Vi spiller et CTGP || Estem jugant un CTGP! || CTGP-zünk!<br />
|-<br />
| We're playing a Team CTGP! || Wij spelen een Team CTGP! || Nous faisons un CTGP en équipes! || Wir fahren einen Team-CTGP! || Stiamo giocando un CTGP a Squadre! || CTGPのチーム戦をしています! || CTGP 그랑프리 단체전을 플레이하고 있습니다! || (NTSC) Estamos jogando um CTGP em Equipes!<br />(PAL) Estamos a jogar um CTGP por Equipas! || {{no|-}} || (NTSC) ¡Estamos jugando un CTGP en Equipo!<br />(PAL) ¡Estamos jugando un CTGP por Equipos!<br />
| Παίζουμε ένα Oμαδικό CTGP! || Gramy CTGP grupowo! || Pelaamme TCTGP:tä. || Vi spelar ett lag-CTGP! || Hrajeme CTGP na týmy! || Ne jemi duke luajtur një CTGP me skuadra! || Vi spiller et Hold-CTGP! || Estem jugant un CTGP d'equips! || Csapatban CTGP-zünk!<br />
|-<br />
| Challenge CTGP Revolution players around the world. || Daag CTGP Revolutionspelers rond de wereld uit. || Défiez des joueurs CTGP Revolution dans le monde entier. || Fordere andere CTGP Revolution Spieler aus der ganzen Welt heraus. || Sfida giocatori di CTGP Revolution in tutto il mondo. || 世界中のCTGP Revolutionのプレイヤーに挑戦しています。 || 전 세계의 CTGP Revolution 유저들과 플레이합니다. || (NTSC) Desafie jogadores de CTGP Revolution ao redor do mundo.<br />(PAL) Desafia jogadores de CTGP de todo o mundo. || {{no|-}} || Reta a jugadores de CTGP Revolution de todo el mundo.<br />
| Αντιμετώπισε παίκτες με CTGP Revolution από όλο τον κόσμο. || Zawalcz z innymi ludźmi na świecie w CTGP Revolution. || Haasta CTGP-R:n pelaajat kaikkialla maailmassa. || Utmana CTGP Revolution-spelare runt om i världen. || Vyzvěte hráče CTGP Revolution po celém světě. || Sfidoji lojtarët të Revolution CTGPs rreth botës. || Udfordr CTGP Revolution spillere over hele verden. || Repte jugadors de CTGP per tot el món. || Hívj ki CTGP-R játékosokat világszerte!<br />
|-<br />
| I'm either playing CTs or Continental! || Ik bespeel ofwel zelfgemaakte banen of continentaal. || Je joue soit en Continental, soit aux Custom Tracks! || Ich spiele Custom Tracks oder Kontinental! || Sto giocando con le CT o in Continentale! || CTで世界か国内のだれかとあそんでいます!|| CT세계의 누군가와 또는 국내의 누군가와를 플레이하고 있습니다! || (NTSC) Estou jogando Custom Tracks ou em um Continental!<br />(PAL) Estou a jogar Custom Tracks ou um Continental! || {{no|-}} || (NTSC) ¡Estoy jugando en Custom Tracks o en Continental!<br />(PAL) ¡Estoy jugando con CTs o en un Continental!<br />
| Παίζω είτε CTs ή Ηπειρωτικά! || Gram w Własne Trasy albo z moim kontynentem! || Pelaan joko CT-maailmanlaajuista tai alueellista. || Jag spelar antingen CTs eller Kontinentalt! || Hraji buďto s upravenými traťmi nebo kontinentálně! || Unë jam duke luajtur ose CT ose Kontinentale! || Jeg spiller enten CTs eller Kontinental! || Estic jugant CTs o Continental! || Vagy NH pályákat, vagy kontinentálisan játszom!<br />
|-<br />
| You're taking too long!<br />Nintendo will disconnect you! || Je doet er te lang over!<br />Nintendo zal de verbinding verbreken! || Vous prenez trop de temps à finir! <br><br> Faites vite avant que Nintendo ne vous déconnecte! <br>'''-OR-'''<br> Faites vite, sinon Nintendo vous déconnectera! || Du brauchst zu lange!<br />Nintendo wird deine Verbindung trennen! || Ci stai mettendo troppo!<br />La Nintendo ti disconnetterà! || レースが終了するのに時間がかかっているようです。<br />任天堂によってオンラインから切断されます。|| 너무 오래 걸리는군요! 닌텐도의 온라인 연결이 끊길 것입니다! || (NTSC) Você está demorando muito!<br />Nintendo vai desconectar você!<br />(PAL) Estão a demorar muito tempo!<br />A Nintendo ainda vos desliga! || {{no|-}} || (NTSC) ¡Te estás tardando demasiado! <br /> ¡Nintendo te va a desconectar!<br />(PAL)¡Estás tardando demasiado! <br /> ¡Nintendo te va a desconectar!<br />
| Κάνετε πολύ ώρα!<br />Η Nintendo θα σας αποσυνδέσει! || Pośpiesz się!<br /> Nintendo cię rozłączy! || Pelisi kestää liian pitkään!<br /> Nintento katkaisee yhteytesi! || Du tar för lång tid!<br />Nintendo kommer att frånkoppla dig || Trvá Vám to příliš dlouho!<br />Nintendo Vás odpojí! || Ti je duke harxhitur tepër kohë!<br />Nintendo do të shkyç! || Du bruger for lang tid!<br />Nintendo vil afbryde forbindelsen! || Estàs trigant massa! <br/> Nintendo et desconnectarà! || Túl lassú vagy!<br />Nintendo le fog kapcsolni!<br />
|- <!-- x and y here could be On, Off or one of the messages below. --><br />
| You must change your settings<br />to join this room.<br /><br />Required settings:<br />Custom Tracks: '''x'''<br />My Stuff: '''y''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| On or Off || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| No track replacements || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|}<br />
<br />
=== Status Messages ===<br />
<br />
These messages mostly display in the bottom right of the screen to provide extra information.<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
! MID !! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Spanish<br />
! Greek !! Portuguese !! Polish !! Finnish !! Swedish !! Czech<br />
|- <!- '''x''' here is an engine class e.g. 150cc or Mirror --><br />
| 7001 || Always '''x''' || {{no|-}} || {{no|-}} || Immer '''x''' || {{no|-}} || このフレンドルームは '''x''' こていです || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7002 || On || {{no|-}} || {{no|-}} || An || {{no|-}} || 使用する || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7003 || Off || {{no|-}} || {{no|-}} || Aus || {{no|-}} || 使用しない || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7004 || 150cc or Mirror || {{no|-}} || {{no|-}} || 150ccm oder Spiegel || {{no|-}} || 150cc & ミラー || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7006 || Total Races: xxx || {{no|-}} || {{no|-}} || Rennanzahl: xxx || {{no|-}} || 総レース数: xxx || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7007 || Your CTGP version does not match the host! || {{no|-}} || {{no|-}} || Deine CTGP-Version stimmt nicht mit der vom Host überein! || {{no|-}} || CTGPのバージョンがホストといっちしません || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7008 || Thundercloud Auto-Fire: '''x''' || {{no|-}} || {{no|-}} || Gewitterwolke automatisch auslösen: '''x''' || {{no|-}} || カミナリぐもを自動で使用: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7009 || Normal || {{no|-}} || {{no|-}} || Normal || {{no|-}} || 普通 || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 700a || Thundercloud Effect: '''x''' || {{no|-}} || {{no|-}} || Gewitterwolken-Effekt: '''x''' || {{no|-}} || カミナリぐものこうか: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 700b || Disabled || {{no|-}} || {{no|-}} || Deaktiviert || {{no|-}} || 使わない || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 700c || Room Encryption: '''x''' || {{no|-}} || {{no|-}} || Raum-Verschlüsselung: '''x''' || {{no|-}} || ルームのあんごう: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 700d || Mega Mushroom || {{no|-}} || {{no|-}} || Maxi-Pilz || {{no|-}} || 巨大キノコ || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 700e || Nintendo Tracks Only || {{no|-}} || {{no|-}} || Nur Nintendo-Strecken || {{no|-}} || 任天堂コースのみ || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 700f || Custom Tracks Only || {{no|-}} || {{no|-}} || Nur Custom Tracks || {{no|-}} || カスタムトラックのみ || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7010 || All Tracks || {{no|-}} || {{no|-}} || Alle Strecken || {{no|-}} || 全コース || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7011 || Worldwide VS || {{no|-}} || {{no|-}} || Globales Versus-Rennen || {{no|-}} || 世界のだれとでも VS || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7012 || Custom Tracks Worldwide || {{no|-}} || {{no|-}} || Custom Tracks Global || {{no|-}} || CT世界のだれとでも || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7013 || Countdown Mode || {{no|-}} || {{no|-}} || Countdownmodus || {{no|-}} || カウントダウンモード || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7014 || Competitive Mode || {{no|-}} || {{no|-}} || Kompetitiver Modus || {{no|-}} || レースモード || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7015 || Ignorance is Bliss: '''x''' || {{no|-}} || {{no|-}} || Ignorance is Bliss: '''x''' || {{no|-}} || アンチチート: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7016 || Normal || {{no|-}} || {{no|-}} || Normal || {{no|-}} || 普通 || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7017 || High || {{no|-}} || {{no|-}} || Hoch || {{no|-}} || 強い || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7018 || All Vehicles || {{no|-}} || {{no|-}} || Alle Fahrzeuge || {{no|-}} || すべて || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7019 || Karts Only || {{no|-}} || {{no|-}} || Nur Karts || {{no|-}} || カートのみ || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 701a || Bikes Only || {{no|-}} || {{no|-}} || Nur Bikes || {{no|-}} || バイクのみ || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 701b || Voting: '''x''' || {{no|-}} || {{no|-}} || Streckenwahl: '''x''' || {{no|-}} || コースとうひょう: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 701c || Host Decides || {{no|-}} || {{no|-}} || Der Host entscheidet || {{no|-}} || ルームホスト || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 701d || My Stuff: '''x''' || {{no|-}} || {{no|-}} || My Stuff: '''x''' || {{no|-}} || My Stuff: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 701e || Item Rain: '''x''' || {{no|-}} || {{no|-}} || Item-Regen: '''x''' || {{no|-}} || アイテムレイン: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 701f || Draggable Blue Shells: '''x''' || {{no|-}} || {{no|-}} || Blaue Panzer festhalten: '''x''' || {{no|-}} || トゲゾーこうらをそうび: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7020 || All Items Can Land: '''x''' || {{no|-}} || {{no|-}} || Alle Items regnen: '''x''' || {{no|-}} || 全アイテム落下: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7021 || Speedometer: '''x''' || {{no|-}} || {{no|-}} || Tachometer: '''x''' || {{no|-}} || スピードメーター: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7022 || Item Boxes: '''x''' || {{no|-}} || {{no|-}} || Itemboxen: '''x''' || {{no|-}} || アイテムボックス: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7023 || Mii Heads on Minimap: '''x''' || {{no|-}} || {{no|-}} || Mii-Köpfe auf der Minimap: '''x''' || {{no|-}} || ミニマップにMiiの顔を表示: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7024 || Network Data Rate: '''x''' || {{no|-}} || {{no|-}} || Übertragungsrate: '''x''' || {{no|-}} || ネットワークデータレート: '''x''' || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7026 || Room Stability: Very Bad || {{no|-}} || {{no|-}} || Raum-Stabilität: Sehr Schlecht || {{no|-}} || へやのじょうたい: さいあく! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7027 || Room Stability: Bad || {{no|-}} || {{no|-}} || Raum-Stabilität: Schlecht || {{no|-}} || へやのじょうたい: わるい || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7028 || Room Stability: Poor || {{no|-}} || {{no|-}} || Raum-Stabilität: Mangelhaft || {{no|-}} || へやのじょうたい: びみょう || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7029 || Room Stability: Average || {{no|-}} || {{no|-}} || Raum-Stabilität: Durchschnittlich || {{no|-}} || へやのじょうたい: ふつう || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 702a || Room Stability: Good || {{no|-}} || {{no|-}} || Raum-Stabilität: Gut || {{no|-}} || へやのじょうたい: よい || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 702b || Room Stability: Very Good || {{no|-}} || {{no|-}} || Raum-Stabilität: Sehr Gut || {{no|-}} || へやのじょうたい: ひじょうによい || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 702c || Room Stability: Perfect! || {{no|-}} || {{no|-}} || Raum-Stabilität: Perfekt || {{no|-}} || へやのじょうたい: パーフェクト!! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 702d || Please disable 'My Stuff' to save Nintendo ghosts! || {{no|-}} || {{no|-}} || Bitte deaktiviere "My Stuff", um Nintendo-Geister zu speichern! || {{no|-}} || 任天堂コースのゴーストをセーブするには 【My Stuff をむこう】にしてください。 || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 702e || You cannot use this Common.szs to save ghosts! || {{no|-}} || {{no|-}} || Du kannst diese Common.szs nicht benutzen, wenn Geister gespeichert werden sollen! || {{no|-}} || ゴーストをセーブするため Common.szsは使用できません || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 702f || Disable 'Remove Game Music' to save Nintendo ghosts! || {{no|-}} || {{no|-}} || Deaktiviere "Spiel-Hintergrundmusik entfernen", um Nintendo-Geister zu speichern! || {{no|-}} || 任天堂コースのゴーストをセーブするには 【ゲームおんがくなしをむこう】にしてください。 || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7030 || SD card is full! Ghosts will not save! || {{no|-}} || {{no|-}} || Die SD-Karte ist voll! Geister werden nicht gespeichert! || {{no|-}} || SDカードがいっぱいでゴーストがセーブできません! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 7032 || Too many ghosts! || {{no|-}} || {{no|-}} || Zu viele Geister! || {{no|-}} || ゴーストが多い! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|}<br />
<br />
=== Room Chat ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/Room Chat]]}}<br />
<br />
=== Track Names ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/Track Names]]}}<br />
<br />
=== CTGP Revolution Channel ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/CTGP Revolution Channel]]}}<br />
<br />
=== LAN multiplayer mode ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/LAN]]}}<br />
<br />
[[Category:Distribution]]<br />
[[Category:Translation]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=CTGP_Revolution&diff=135344CTGP Revolution2018-05-18T07:51:52Z<p>Chadderz: Version bump.</p>
<hr />
<div>{{translation-help|the next version||[[Chadderz]]}}<br />
{| class="textbox float-right grid"<br />
|+'''CTGP Revolution'''<br />
|-<br />
! Authors:<br />
| [[MrBean35000vr]] and [[Chadderz]]<br />
|-<br />
! Type:<br />
| Homebrew Application<br />
|-<br />
! Wii Title ID:<br />
| 00010001-RMCX<br />
|-<br />
! [[Custom Track Regions|Online Region]]:<br />
| 11-59 <!-- yes, it really does use 49 regions! --><br />
|-<br />
! Tracks:<br />
| 216 custom tracks,<br>32 original tracks<br />
|-<br />
! Battles:<br />
| Replaced with [[Countdown Mode]]<br />
|-<br />
! Vehicles:<br />
| All original vehicles<br />
|-<br />
! Language:<br />
|<br />
* English<br />
* French<br />
* German<br />
* Italian<br />
* Spanish<br />
* Dutch<br />
* Japanese<br />
* Swedish<br />
* Greek<br />
* Portuguese<br />
* Polish<br />
* Finnish<br />
|-<br />
! Version:<br />
| v1.03.1044 <!-- This is the current download version. --><br />
|-<br />
! Release:<br />
| 2014-01-12<br />
|-<br />
! Latest update:<br />
| 2017-08-25<br />
|-<br />
! Website:<br />
| [http://chadsoft.co.uk chadsoft.co.uk]<br />
|-<br />
! Download:<br />
|<br />
* [https://drive.google.com/file/d/0BzP93HviBIt9MGNTZjc1ZlgyUGM/edit?usp=sharing Google Drive]<br />
* [https://www.amazon.com/clouddrive/share/lCYijmVboMy4CtwFT8jnmIvOmpvkH6ZfNnLGYVlwuMO?ref_=cd_ph_share_link_copy Amazon Cloud Drive]<br />
|}<br />
<br />
'''CTGP Revolution''' is an expansion to and the direct successor of [[CTGP 2.8]] and [[CTGP 4.4]]. It is a [[Custom Track Distribution]] created by [[MrBean35000vr]] and [[Chadderz]]. It is released as a custom homebrew application. The CTGP Revolution pack continues the [[CTGP 4.4]] trend of using custom course slots to load custom tracks, and is the first distribution to use a modified menu system to load tracks. It is also the first distribution featuring a custom channel. The distribution supports the PAL, NTSC-U and NTSC-J versions of [[Mario Kart Wii]].<br />
<br />
The predecessor is [[CTGP Revolution v1.02]]. The source code for v1.03 is kept secret to prevent hackers, but the source code for v1.02 is available at https://github.com/Chadderz121/wii-ct-code.<br />
<br />
As of version 1.03.0040, [[Countdown Mode]] has been added as a replacement for the non-functional battles in online play.<br />
<br />
As of version 1.03.0050, [[Wiimmfi Project|Custom Server Support]] has been added as a replacement for [[Nintendo Wi-Fi Connection|Nintendo WFC]].<br />
<br />
As of version 1.03.1044, time trial mode is supported and online time trial leaderboards are available.<br />
<br />
As of version 1.03.1056, [[LAN Multiplayer]], [[Item Rain]] and [[High Data Rate]] modes are available.<br />
<br />
== Media ==<br />
{{youtube-box||DMR-yiRY6wQ|v1.03 Preview}}<br />
<br />
== Tracks ==<br />
This track listing is presented as temporary and may be subject to change. A list of new tracks that are ready to be included but are not yet included, and tracks that need fixing to be included can be found on the [[/Track Wishlist|track wishlist]].<br />
<br />
Certain tracks have been modified for online stability.<br />
<br />
It currently obeys the default track order of v1.03.1048.<br />
<br />
<!-- Please don't remove the numerical slot numbers, we find it useful! --Chadderz --><br />
{| class="textbox grid sortable center"<br />
|+ Track Listing<br />
! Cup<br />
! Track<br />
! Version<br />
! Author<br />
! width=1| Laps<br />
! width=1| Speed Modifier<br />
! width=1| Music ID<br />
! width=1| Slot ID<br />
! width=1| Special Slot ID<br />
|-<br />
| rowspan=4 {{cup-icon|page|Blooper Cup}}<br />
| [[Super Sky Courtyard]]<br />
| RC3<br />
| [[HelloImYourMind]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAD}}<br />
| 0x6F<br />
| {{slot-id|0x14}}<br />
|-<br />
| [[GBA Cheep-Cheep Island (ChaosShadow23)|GBA Cheep Cheep Island]]<br />
| v1.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x95}}<br />
| 0x70<br />
| {{slot-id|0x10}}<br />
|-<br />
| [[ASDF_Course]]<br />
| RC1<br />
| [[Guilmon35249vr]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x9F}}<br />
| 0x4D<br />
| {{slot-id|0x1A}}<br />
|-<br />
| [[Sky Shrine]]<br />
| v1.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0x4B<br />
| {{slot-id|0x02}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Mega Mushroom Cup}}<br />
| [[Sunset Forest]]<br />
| RC3<br />
| Luigi45000vr<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0x52<br />
| {{slot-id|0x02}}<br />
|- class=alt<br />
| [[Jungle Cliff]]<br />
| RC1<br />
| [[Wine]], [[Keiichi1996]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA1}}<br />
| 0x5F<br />
| {{slot-id|0x1D}}<br />
|- class=alt<br />
| [[Kartwood Creek]]<br />
| RC2<br />
| Rich Petty<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA7}}<br />
| 0x56<br />
| {{slot-id|0x11}}<br />
|- class=alt<br />
| [[Haunted Woods]]<br />
| v1.2<br />
| [[thondam]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0x54<br />
| {{slot-id|0x06}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Thundercloud Cup}}<br />
| [[GBA Broken Pier (ChaosShadow23)|GBA Broken Pier]]<br />
| v3.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0x69<br />
| {{slot-id|0x19}}<br />
|-<br />
| [[SNES Choco Island 2 (Zilla)|SNES Choco Island 2]]<br />
| v1.1c-easy<br />
| [[User:Zilla|ZillaSpaz]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x99}}<br />
| 0x71<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Rush City Run]]<br />
| Beta 4<br />
| [[GredMega]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0x4F<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Twin Peaks]]<br />
| RC3<br />
| [[Sucht93a]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x77}}<br />
| 0x72<br />
| {{slot-id|0x09}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|POW Cup}}<br />
| [[DS Figure-8 Circuit (maczkopeti)|DS Figure-8 Circuit]]<br />
| RC1<br />
| [[User:Maczkopeti|maczkopeti]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0x73<br />
| {{slot-id|0x09}}<br />
|- class=alt<br />
| [[N64 Yoshi Valley (Zilla)|N64 Yoshi Valley]]<br />
| Beta 2<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAD}}<br />
| 0x5A<br />
| {{slot-id|0x14}}<br />
|- class=alt<br />
| [[DS Waluigi Pinball (Yoshidude4 & Turbo Yoshi)|DS Waluigi Pinball]]<br />
| v3.2<br />
| [[Yoshidude4]], [[User:Turbo yoshi|Turbo Yoshi]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA9}}<br />
| 0x66<br />
| {{slot-id|0x12}}<br />
|- class=alt<br />
| [[GCN Daisy Cruiser (Super-Daisy55)|GCN Daisy Cruiser]]<br />
| v3.2<br />
| [[Super-Daisy55]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA5}}<br />
| 0x74<br />
| {{slot-id|0x09}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Bob-omb Cup}}<br />
| [[GBA Bowser Castle 4 (ChaosShadow23)|GBA Bowser Castle 4]]<br />
| v4.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0x65<br />
| {{slot-id|0x1E}}<br />
|-<br />
| [[River of Dreams]]<br />
| v1.3.5<br />
| [[xBlue98]]<br />
| 1<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0x6C<br />
| {{slot-id|0x0F}}<br />
|-<br />
| [[DS Wario Stadium (Zilla)|DS Wario Stadium]]<br />
| v1.1b<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA9}}<br />
| 0x75<br />
| {{slot-id|0x12}}<br />
|-<br />
| [[The Rabbit Hole]]<br />
| RC3-alt1<br />
| [[Sucht93a]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0x8F}}<br />
| 0x53<br />
| {{slot-id|0x13}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Fake Item Cup}}<br />
| [[SNES Mario Circuit 1 (NiAlBlack)|SNES Mario Circuit 1]]<br />
| v1.0<br />
| [[NiAlBlack]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x99}}<br />
| 0x47<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Lakeside Hill]]<br />
| v2.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x77}}<br />
| 0x4C<br />
| {{slot-id|0x13}}<br />
|- class=alt<br />
| [[Sunset Circuit]]<br />
| v1.0<br />
| [[Vulcanus2]]<br />
| 7<br />
| 2&times;<br />
| {{slot-id|0xAD}}<br />
| 0x76<br />
| {{slot-id|0x11}}<br />
|- class=alt<br />
| [[DS Cheep Cheep Beach (sup3rsmash8)|DS Cheep Cheep Beach]]<br />
| v1.2<br />
| [[sup3rsmash8]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA5}}<br />
| 0x77<br />
| {{slot-id|0x10}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Golden Mushroom Cup}}<br />
| [[GCN Yoshi Circuit (Ermelber & Yoshidude4)|GCN Yoshi Circuit]]<br />
| RC1<br />
| [[Ermelber]], [[Yoshidude4]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA7}}<br />
| 0x6A<br />
| {{slot-id|0x14}}<br />
|-<br />
| [[SNES Mario Circuit 2 (NiAlBlack)|SNES Mario Circuit 2]]<br />
| v1.4<br />
| [[NiAlBlack]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x99}}<br />
| 0x78<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[N64 Royal Raceway (Baoulettes & LuigiM)|N64 Royal Raceway]]<br />
| v2.1<br />
| [[Baoulettes]], [[LuigiM]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9F}}<br />
| 0x59<br />
| {{slot-id|0x1F}}<br />
|-<br />
| [[Candy Coaster]]<br />
| v2.2<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x87}}<br />
| 0x79<br />
| {{slot-id|0x0B}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Spring Cup}}<br />
| [[DS Airship Fortress (Zilla)|DS Airship Fortress]]<br />
| Beta 3<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0x5B<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Yoshi Lagoon]]<br />
| v1.2<br />
| [[User:Yoshiller|Yoshiller]], [[Sucht93a]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAD}}<br />
| 0x62<br />
| {{slot-id|0x1F}}<br />
|- class=alt<br />
| [[N64 Choco Mountain (Baoulettes & igorseabra4)|N64 Choco Mountain]]<br />
| v1.1<br />
| [[Baoulettes]], [[igorseabra4]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAB}}<br />
| 0x67<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Summer Starville]]<br />
| v1.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAF}}<br />
| 0x6B<br />
| {{slot-id|0x0B}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Fireball Cup}}<br />
| [[SNES Vanilla Lake 2 (Likesorange)|SNES Vanilla Lake 2]]<br />
| v1.1<br />
| [[User:Likesorange|Likesorange]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9D}}<br />
| 0x46<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[SNES Bowser Castle 2 (MKDasher)|SNES Bowser Castle 2]]<br />
| v1.3<br />
| [[MKDasher]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x91}}<br />
| 0x44<br />
| {{slot-id|0x0C}}<br />
|-<br />
| [[GCN Bowser's Castle (Baoulettes)|GCN Bowser's Castle]]<br />
| v3.4<br />
| [[Baoulettes]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x91}}<br />
| 0x64<br />
| {{slot-id|0x0C}}<br />
|-<br />
| [[Incendia Castle]]<br />
| RC1.1<br />
| [[MrBean35000vr]], [[Chadderz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0x51<br />
| {{slot-id|0x03}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Red Shell Cup}}<br />
| [[Melting Magma Melee]]<br />
| RC4<br />
| [[Sucht93a]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0x7A<br />
| {{slot-id|0x03}}<br />
|- class=alt<br />
| [[Unnamed Valley]]<br />
| v1.2<br />
| [[Scye]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x7B<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Pipe Underworld]]<br />
| v2.3<br />
| [[BigOto2]], [[ChaosShadow23]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x7C<br />
| {{slot-id|0x03}}<br />
|- class=alt<br />
| [[Canyon Run]]<br />
| Beta 2<br />
| [[GredMega]]<br />
| &ndash;<br />
| 1.2&times;<br />
| {{slot-id|0xBD}}<br />
| 0x7D<br />
| {{slot-id|0x18}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Blue Shell Cup}}<br />
| [[Thunder City]]<br />
| v1.2<br />
| [[BigOto2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0x7E<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[BassBasher City]]<br />
| v1.0<br />
| [[Scye]], [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0x60<br />
| {{slot-id|0x03}}<br />
|-<br />
| [[N64 Banshee Boardwalk (Zilla)|N64 Banshee Boardwalk]]<br />
| v1.0<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0x68<br />
| {{slot-id|0x19}}<br />
|-<br />
| [[Fishdom Island]]<br />
| v6.0<br />
| [[BigOto2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x85}}<br />
| 0x57<br />
| {{slot-id|0x13}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Bullet Bill Cup}}<br />
| [[3DS Toad Circuit (Torran)|Toad Raceway]]<br />
| v1.4<br />
| [[User:Torran|Torran]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0x7F<br />
| {{slot-id|0x09}}<br />
|- class=alt<br />
| [[Desert Raceway]]<br />
| v2.0<br />
| [[JorisMKW]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x89}}<br />
| 0x80<br />
| {{slot-id|0x0E}}<br />
|- class=alt<br />
| [[Delfino Island]]<br />
| v3.4<br />
| [[Vulcanus2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB5}}<br />
| 0x6E<br />
| {{slot-id|0x13}}<br />
|- class=alt<br />
| [[Six King Labyrinth]]<br />
| Beta<br />
| [[MrBean35000vr]], [[Chadderz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x5C<br />
| {{slot-id|0x0D}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Chain Chomp Cup}}<br />
| [[GCN Luigi Circuit (Torran)|GCN Luigi Circuit]]<br />
| RC2<br />
| [[User:Torran|Torran]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA7}}<br />
| 0x81<br />
| {{slot-id|0x00}}<br />
|-<br />
| [[Candy Mountains]]<br />
| v1.0<br />
| [[DJ Lowgey]], [[Mewtwo2000]], [[MrKoeikoei]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAD}}<br />
| 0x82<br />
| {{slot-id|0x0B}}<br />
|-<br />
| [[Rockside River]]<br />
| v2.0<br />
| [[Ermelber]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0xB3}}<br />
| 0x41<br />
| {{slot-id|0x16}}<br />
|-<br />
| [[Undiscovered Offlimit]]<br />
| v1.0<br />
| [[Keiichi1996]]<br />
| 1<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x61<br />
| {{slot-id|0x0C}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Mii Outfit C Cup}}<br />
| [[SNES Mario Circuit 4 (NiAlBlack)|SNES Mario Circuit 4]]<br />
| v1.1<br />
| [[NiAlBlack]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x99}}<br />
| 0x45<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Nostalgic Bowser's Castle]]<br />
| v2.1b<br />
| [[Omonimo747]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x4E<br />
| {{slot-id|0x1C}}<br />
|- class=alt<br />
| [[Crossingville]]<br />
| v1.0a<br />
| [[xBlue98]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x77}}<br />
| 0x48<br />
| {{slot-id|0x0F}}<br />
|- class=alt<br />
| [[DKR Star City]]<br />
| v1.1<br />
| [[Mewtwo2000]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0x55<br />
| {{slot-id|0x0A}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Poison Mushroom Cup}}<br />
| [[SNES Donut Plains 3 (Yoshidude4)|SNES Donut Plains 3]]<br />
| v1.0<br />
| [[Yoshidude4]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x99}}<br />
| 0x83<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Skyline Avenue]]<br />
| v1.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0x63<br />
| {{slot-id|0x15}}<br />
|-<br />
| [[GCN Wario Colosseum (MKDasher)|GCN Wario Colosseum]]<br />
| RC2.2<br />
| [[MKDasher]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xA9}}<br />
| 0x84<br />
| {{slot-id|0x12}}<br />
|-<br />
| [[Mushroom Peaks]]<br />
| RC5<br />
| [[MrBean35000vr]], [[Chadderz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0x40<br />
| {{slot-id|0x02}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Ice Flower Cup}}<br />
| [[Icecream Sweetland]]<br />
| v2.0<br />
| [[SpyKid]], [[Ermelber]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9D}}<br />
| 0x50<br />
| {{slot-id|0x06}}<br />
|- class=alt<br />
| [[SNES Vanilla Lake 1 (James)|SNES Vanilla Lake 1]]<br />
| RC1-mod<br />
| [[James]]<br />
| 5<br />
| 1.2&times;<br />
| {{slot-id|0x9D}}<br />
| 0x49<br />
| {{slot-id|0x1B}}<br />
|- class=alt<br />
| [[Autumn Leavesway]]<br />
| v1.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8F}}<br />
| 0x92<br />
| {{slot-id|0x0B}}<br />
|- class=alt<br />
| [[GCN Sherbet Land]]<br />
| v2-beta<br />
| [[Tock]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9D}}<br />
| 0x8B<br />
| {{slot-id|0x1B}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Propellor Cup}}<br />
| [[SNES Donut Plains 2 (NiAlBlack)|SNES Donut Plains 2]]<br />
| v1.0<br />
| [[NiAlBlack]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x99}}<br />
| 0x5E<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[DS Tick-Tock Clock (maczkopeti)|DS Tick-Tock Clock]]<br />
| Beta 2<br />
| [[User:Maczkopeti|maczkopeti]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xC7}}<br />
| 0x87<br />
| {{slot-id|0x09}}<br />
|-<br />
| data-sort-value="Volcanic Skyway 2"| [[Volcanic Skyway]] {{symbol|F062}}<br />
| v2.3<br />
| [[BigOto2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAB}}<br />
| 0x6D<br />
| {{slot-id|0x13}}<br />
|-<br />
| [[3DS Neo Bowser City (Atlas)|Neo Koopa City]]<br />
| v2.1<br />
| [[Atlas]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0x88<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Hammer Bro Cup}}<br />
| [[Infernal Pipeyard]]<br />
| v1.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0x90<br />
| {{slot-id|0x03}}<br />
|- class=alt<br />
| [[Jungle Ruins]]<br />
| v1.0<br />
| [[MysterE99]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA1}}<br />
| 0x8C<br />
| {{slot-id|0x1D}}<br />
|- class=alt<br />
| [[Cookie Village]]<br />
| v1.0<br />
| [[WiiLuigi]], [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAD}}<br />
| 0x8A<br />
| {{slot-id|0x14}}<br />
|- class=alt<br />
| [[CTR Cortex Castle]]<br />
| v1.0<br />
| [[MysterE99]]<br />
| &mdash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x8D<br />
| {{slot-id|0x1C}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Wiggler Cup}}<br />
| [[GBA Ribbon Road (ChaosShadow23)|GBA Ribbon Road]]<br />
| v1.2<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB7}}<br />
| 0x98<br />
| {{slot-id|0x14}}<br />
|-<br />
| [[DS Luigi's Mansion (Zilla)|DS Luigi's Mansion]]<br />
| v1c<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x93<br />
| {{slot-id|0x1E}}<br />
|-<br />
| [[Wolf Castlegrounds]]<br />
| v1.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x8E<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Castle of Darkness]]<br />
| v1.3<br />
| [[User:MEGAKart69|MEGAKart69]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x9B<br />
| {{slot-id|0x1C}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Penguin Suit Cup}}<br />
| [[Nivurbia]]<br />
| v1.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x81}}<br />
| 0x96<br />
| {{slot-id|0x06}}<br />
|- class=alt<br />
| [[DS Mario Circuit (Zilla)|DS Mario Circuit]]<br />
| v2.0<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0x99<br />
| {{slot-id|0x08}}<br />
|- class=alt<br />
| [[Faraway Land]]<br />
| RC1.3<br />
| [[Guilmon35249vr]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAD}}<br />
| 0x97<br />
| {{slot-id|0x1F}}<br />
|- class=alt<br />
| [[Fire Palace]]<br />
| v1.1<br />
| [[Keiichi1996]], [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x91}}<br />
| 0x85<br />
| {{slot-id|0x03}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Bee Mushroom Cup}}<br />
| [[GBA Sky Garden (ChaosShadow23)|GBA Sky Garden]]<br />
| v1.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0x95<br />
| {{slot-id|0x02}}<br />
|-<br />
| [[Glimmer Express Trains]]<br />
| v1.1<br />
| [[Sniki]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0x83}}<br />
| 0x8F<br />
| {{slot-id|0x07}}<br />
|-<br />
| [[Sunset Raceway]]<br />
| v3.0<br />
| [[Ermelber]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x87}}<br />
| 0x86<br />
| {{slot-id|0x09}}<br />
|-<br />
| [[Desert Castle Raceway]]<br />
| v1.5<br />
| [[User:Ctlgmb mkw|lgmb]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xB1}}<br />
| 0x9C<br />
| {{slot-id|0x15}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Rock Mushroom Cup}}<br />
| [[Melody Sanctum]]<br />
| v1.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x89}}<br />
| 0x94<br />
| {{slot-id|0x00}}<br />
|- class=alt<br />
| [[3DS Wario Shipyard (Atlas)|Wario's Shipwreck]]<br />
| v1.97<br />
| [[Atlas]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x83}}<br />
| 0x9A<br />
| {{slot-id|0x0F}}<br />
|- class=alt<br />
| [[GBA Cheese Land (ChaosShadow23)|GBA Cheese Land]]<br />
| v2.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x77}}<br />
| 0x91<br />
| {{slot-id|0x01}}<br />
|- class=alt<br />
| [[Misty Ruins]]<br />
| v1.0<br />
| [[Vulcanus2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0x9D<br />
| {{slot-id|0x02}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|1UP Cup}}<br />
| [[Snowy Circuit]]<br />
| v1.4<br />
| [[Putinas]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x81}}<br />
| 0x9E<br />
| {{slot-id|0x06}}<br />
|-<br />
| [[Sea Stadium]]<br />
| v2.16<br />
| [[SpacePenguin1804]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB9}}<br />
| 0x9F<br />
| {{slot-id|0x09}}<br />
|-<br />
| [[Calidae Desert]]<br />
| RC2.1<br />
| [[Björn]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x89}}<br />
| 0xA0<br />
| {{slot-id|0x0E}}<br />
|-<br />
| [[N64 Kalimari Desert (Ermelber & Zilla)|N64 Kalimari Desert]]<br />
| v1.01<br />
| [[Ermelber]], [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB1}}<br />
| 0xA1<br />
| {{slot-id|0x15}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Feather Cup}}<br />
| [[Winter Paradise]]<br />
| v1.3<br />
| [[SpyKid]], [[WiiLuigi]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9D}}<br />
| 0xA2<br />
| {{slot-id|0x1B}}<br />
|- class=alt<br />
| [[Kinoko Cave]]<br />
| v1-beta<br />
| [[igorseabra4]], [[Sucht93a]], [[Wingcapman]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0xA3<br />
| {{slot-id|0x02}}<br />
|- class=alt<br />
| [[GCN Baby Park (maczkopeti)|GCN Baby Park]]<br />
| v1.1<br />
| [[User:Maczkopeti|maczkopeti]]<br />
| 7<br />
| &mdash;<br />
| {{slot-id|0xBF}}<br />
| 0xA4<br />
| {{slot-id|0x00}}<br />
|- class=alt<br />
| [[Cyberstate]]<br />
| v1.2<br />
| [[Scye]], [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0xA5<br />
| {{slot-id|0x1E}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Shine Sprite Cup}}<br />
| [[GBA Bowser Castle 1 (ChaosShadow23)|GBA Bowser Castle 1]]<br />
| v1.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0xA6<br />
| {{slot-id|0x1E}}<br />
|-<br />
| [[Aura Metropolis]]<br />
| v1.2<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0xA7<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Daisy Gardens]]<br />
| v1.2.1<br />
| [[xBlue98]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xB3}}<br />
| 0xA8<br />
| {{slot-id|0x16}}<br />
|-<br />
| [[Aquania]]<br />
| v1.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x85}}<br />
| 0xA9<br />
| {{slot-id|0x0F}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Yoshi Egg Cup}}<br />
| [[GBA Mario Circuit (rca42623)|GBA Mario Circuit]]<br />
| v1.0<br />
| [[rca42623]]<br />
| &ndash;<br />
| 1.25&times;<br />
| {{slot-id|0x75}}<br />
| 0xBB<br />
| {{slot-id|0x00}}<br />
|- class=alt<br />
| [[Rezway II|Rezway]] {{symbol|F062}}<br />
| v2.2<br />
| [[Trent Rez]], [[Jefe]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0xAB<br />
| {{slot-id|0x00}}<br />
|- class=alt<br />
| [[Sunset Ridge]]<br />
| RC3<br />
| [[Vulcanus2]], [[BigOto2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0xB2<br />
| {{slot-id|0x02}}<br />
|- class=alt<br />
| [[N64 Moo Moo Farm (Yoshidude4 & Ermelber)|N64 Moo Moo Farm]]<br />
| v1.1L<br />
| [[Yoshidude4]], [[Ermelber]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x77}}<br />
| 0xB7<br />
| {{slot-id|0x01}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Stone Tanooki Cup}}<br />
| [[Stone Route]]<br />
| v1.1<br />
| [[YellowYoshi]]<br />
| &ndash;<br />
| 1.5&times;<br />
| {{slot-id|0xBD}}<br />
| 0xBC<br />
| {{slot-id|0x02}}<br />
|-<br />
| [[Snowy Circuit 2|Snowy Circuit]] {{symbol|F062}}<br />
| v2.2<br />
| [[Putinas]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x81}}<br />
| 0xAA<br />
| {{slot-id|0x06}}<br />
|-<br />
| [[Helado Mountain]]<br />
| v1.1<br />
| [[HelloImYourMind]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9D}}<br />
| 0xB5<br />
| {{slot-id|0x06}}<br />
|-<br />
| [[3DS DK Jungle (Wexos & Crile)|DK Ruins]]<br />
| RC1<br />
| [[Wexos]], [[Crile]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA1}}<br />
| 0xBD<br />
| {{slot-id|0x1D}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Birdo Egg Cup}}<br />
| [[GBA Lakeside Park (ChaosShadow23)|GBA Lakeside Park]]<br />
| v3.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA1}}<br />
| 0xB9<br />
| {{slot-id|0x1D}}<br />
|- class=alt<br />
| [[N64 Koopa Troopa Beach (Zilla)|N64 Koopa Troopa Beach]]<br />
| v1.0<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x87}}<br />
| 0xB3<br />
| {{slot-id|0x14}}<br />
|- class=alt<br />
| [[Sandcastle Park]]<br />
| v1.1<br />
| [[SpyKid]], [[wiimaster35000vr]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB1}}<br />
| 0xB6<br />
| {{slot-id|0x15}}<br />
|- class=alt<br />
| [[Mushroom Valley]]<br />
| RC1.5<br />
| [[EC2Joshi]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0xBA<br />
| {{slot-id|0x02}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Bowser Shell Cup}}<br />
| [[Desert Mushroom Ruins]]<br />
| v1.1<br />
| [[4TLPati]], [[MysterE99]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x89}}<br />
| 0xAC<br />
| {{slot-id|0x0E}}<br />
|-<br />
| [[GCN Mushroom City]]<br />
| v0.1<br />
| [[User:Torran|Torran]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0xAD<br />
| {{slot-id|0x0A}}<br />
|-<br />
| [[Coral Cape]]<br />
| v2.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x85}}<br />
| 0xB4<br />
| {{slot-id|0x0F}}<br />
|-<br />
| [[Slot Circuit]]<br />
| v1.11<br />
| [[Jefe]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x7F}}<br />
| 0xD2<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Metal Mushroom Cup}}<br />
| [[F-Zero Big Blue]]<br />
| v1.4<br />
| [[Jefe]]<br />
| &ndash;<br />
| 2&times;<br />
| {{slot-id|0xA5}}<br />
| 0xAE<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[F-Zero White Land I|F-Zero White Land 1]]<br />
| v2.1<br />
| [[Jefe]]<br />
| &ndash;<br />
| 1.5&times;<br />
| {{slot-id|0x81}}<br />
| 0xAF<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Sparkly Road]]<br />
| v1.1<br />
| [[BrawlerJesse]], [[LuigiM]], [[wiimaster35000vr]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0xBE<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| [[N64 Frappe Snowland (Zilla)|N64 Frappe Snowland]]<br />
| v1.0<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9D}}<br />
| 0xC0<br />
| {{slot-id|0x1B}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Luigi Fireball Cup}}<br />
| [[GBA Luigi Circuit (Zilla)|GBA Luigi Circuit]]<br />
| v1.01<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0xB8<br />
| {{slot-id|0x00}}<br />
|-<br />
| [[Rooster Island]]<br />
| v1.0<br />
| [[Jefe]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA5}}<br />
| 0xB0<br />
| {{slot-id|0x1D}}<br />
|-<br />
| [[Dreamworld Cloudway]]<br />
| v2.3<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0xBF<br />
| {{slot-id|0x0D}}<br />
|-<br />
| [[Disco Fever]]<br />
| v3.3<br />
| [[xBlue98]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xBB}}<br />
| 0xB1<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Pencil Cup}}<br />
| [[Red Loop]]<br />
| v1.91<br />
| [[YellowYoshi]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0xE5<br />
| {{slot-id|0x03}}<br />
|- class=alt<br />
| [[Green Loop]]<br />
| v1.9<br />
| [[YellowYoshi]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0xA7}}<br />
| 0xC1<br />
| {{slot-id|0x13}}<br />
|- class=alt<br />
| [[Blue Loop]]<br />
| RC1<br />
| [[YellowYoshi]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0xAB}}<br />
| 0xCA<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Yellow Loop]]<br />
| RC1<br />
| [[YellowYoshi]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0xAB}}<br />
| 0xF7<br />
| {{slot-id|0x18}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Grand Star Cup}}<br />
| [[Lunar Spaceway]]<br />
| v1.0<br />
| [[BigOto2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0xDD<br />
| {{slot-id|0x0D}}<br />
|-<br />
| [[Seaside Resort]]<br />
| v1.0<br />
| [[LuigiM]]<br />
| 1<br />
| &mdash;<br />
| {{slot-id|0x85}}<br />
| 0xE7<br />
| {{slot-id|0x0F}}<br />
|-<br />
| [[GCN Mushroom Bridge]]<br />
| RC1<br />
| [[User:Torran|Torran]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0xD5<br />
| {{slot-id|0x0A}}<br />
|-<br />
| [[Sacred Fogcoast]]<br />
| v1.3<br />
| [[YellowYoshi]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0xF1<br />
| {{slot-id|0x02}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Boo Cup}}<br />
| [[GBA Boo Lake (ChaosShadow23)|GBA Boo Lake]]<br />
| v3.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0xD3<br />
| {{slot-id|0x19}}<br />
|- class=alt<br />
| [[Forsaken Mansion]]<br />
| v2.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0xF0<br />
| {{slot-id|0x19}}<br />
|- class=alt<br />
| [[GBA Yoshi Desert (ChaosShadow23)|GBA Yoshi Desert]]<br />
| v1.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB1}}<br />
| 0xF8<br />
| {{slot-id|0x15}}<br />
|- class=alt<br />
| [[Windmill Village]]<br />
| v3.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAF}}<br />
| 0xCB<br />
| {{slot-id|0x17}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Spin Drill Cup}}<br />
| [[3DS Rock Rock Mountain (MrKoeikoei & Zilla)|Rock Rock Ridge]]<br />
| v1.21<br />
| [[MrKoeikoei]], [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0x35<br />
| {{slot-id|0x02}}<br />
|-<br />
| [[Alpine Mountain]]<br />
| v1.1<br />
| Susannah, [[Wiimm]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAB}}<br />
| 0xC5<br />
| {{slot-id|0x13}}<br />
|-<br />
| [[Mansion of Madness]]<br />
| v1.2-alt1<br />
| [[Sucht93a]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xC1}}<br />
| 0xEA<br />
| {{slot-id|0x03}}<br />
|-<br />
| [[Big Nature City]]<br />
| v1.0<br />
| [[User:Ctlgmb mkw|lgmb]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xAF}}<br />
| 0xF4<br />
| {{slot-id|0x0A}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Star Bits Cup}}<br />
| [[SADX Twinkle Circuit]]<br />
| v2.0<br />
| [[igorseabra4]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xC9}}<br />
| 0xE6<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Galaxy Base]]<br />
| v2.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0x2A<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| [[3DS Rosalina's Ice World|Rosalina's Snow World]]<br />
| v2.0<br />
| [[MRbuttCHINSx11T7]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x81}}<br />
| 0x3B<br />
| {{slot-id|0x06}}<br />
|- class=alt<br />
| [[Celestial Ruins]]<br />
| v1.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0x2C<br />
| {{slot-id|0x02}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Lava Bubble Cup}}<br />
| [[SNES Bowser Castle 1 (ChaosShadow23)|SNES Bowser Castle 1]]<br />
| v1.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0xEC<br />
| {{slot-id|0x1E}}<br />
|-<br />
| [[SNES Bowser Castle 2 (ChaosShadow23)|SNES Bowser Castle 2]] {{symbol|F062}}<br />
| v1.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0xDE<br />
| {{slot-id|0x1E}}<br />
|-<br />
| [[SNES Bowser Castle 3 (DasFragezeichen & Tock)|SNES Bowser Castle 3]] {{symbol|F062}}<br />
| v2-alpha<br />
| [[DasFragezeichen]], [[Tock]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0xDF<br />
| {{slot-id|0x15}}<br />
|-<br />
| [[Lava Road]]<br />
| RC1.4a<br />
| [[FireLuigi]], [[Caron]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x91}}<br />
| 0xDA<br />
| {{slot-id|0x0C}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Cheep Cheep Cup}}<br />
| [[Cool Castle Canyon]]<br />
| v1.0<br />
| [[Sniki]]<br />
| &mdash;<br />
| &mdash;<br />
| {{slot-id|0x85}}<br />
| 0xEB<br />
| {{slot-id|0x0F}}<br />
|- class=alt<br />
| [https://www.youtube.com/watch?v=S1je-w8NHRQ Jungle Jamble]<br />
| v1.0<br />
| Yoshi86UP, [[Torran]]<br />
| &mdash;<br />
| &mdash;<br />
| {{slot-id|0xAB}}<br />
| 0xDC<br />
| {{slot-id|0x1B}}<br />
|- class=alt<br />
| [[Horror Mansion]]<br />
| v2.4.1<br />
| [[xBlue98]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0xDB<br />
| {{slot-id|0x1C}}<br />
|- class=alt<br />
| [[Flowery Greenhouse]]<br />
| v1.0<br />
| [[Sniki]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB3}}<br />
| 0x33<br />
| {{slot-id|0x16}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Ice Bro Cup}}<br />
| [[Crystal Plains]]<br />
| v1.1<br />
| [[Sniki]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0x77}}<br />
| 0xC6<br />
| {{slot-id|0x01}}<br />
|-<br />
| [[Alpine Circuit]]<br />
| RC2<br />
| [[Black Rose 67]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x81}}<br />
| 0xC4<br />
| {{slot-id|0x06}}<br />
|-<br />
| [[DS DK Pass (Quajeek99 & Yoshidude4)|DS DK Pass]]<br />
| v1.0<br />
| [[Quajeek99]], [[Yoshidude4]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x81}}<br />
| 0xC2<br />
| {{slot-id|0x06}}<br />
|-<br />
| [[GBA Snow Land (ChaosShadow23)|GBA Snow Land]]<br />
| v1.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9D}}<br />
| 0xD4<br />
| {{slot-id|0x1B}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Gold Flower Cup}}<br />
| [[Green Park]]<br />
| v2.8a<br />
| [[Caron]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x87}}<br />
| 0xD6<br />
| {{slot-id|0x16}}<br />
|- class=alt<br />
| [[Hell Pyramid]]<br />
| v1.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0xD8<br />
| {{slot-id|0x03}}<br />
|- class=alt<br />
| [[Headlong Skyway]]<br />
| v2.2<br />
| [[BCphoton]], [[MEGAKart69]], [[ChaosShadow23]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0xEE<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| [[White Garden]]<br />
| v1.3<br />
| [[SpyKid]], [[User:Blockmann|Block]], [[LuigiM]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB3}}<br />
| 0xF6<br />
| {{slot-id|0x16}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Question Block Cup}}<br />
| [[Retro Raceway]]<br />
| RC2<br />
| [[wiimaster35000vr]], [[Björn]], [[LuigiM]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9F}}<br />
| 0x32<br />
| {{slot-id|0x1A}}<br />
|-<br />
| [[N64 Luigi Raceway]]<br />
| v1.0<br />
| [[User:Zilla|ZillaSpaz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9F}}<br />
| 0x2F<br />
| {{slot-id|0x1A}}<br />
|-<br />
| [[Volcano Canyon]]<br />
| Beta<br />
| [[Multimariokartds]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0xC3<br />
| {{slot-id|0x03}}<br />
|-<br />
| [[SNES Choco Island 1 (NiAlBlack)|SNES Choco Island 1]]<br />
| v1.1<br />
| [[NiAlBlack]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xC3}}<br />
| 0xED<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Cloud Flower Cup}}<br />
| [[Seasonal Circuit]]<br />
| RC1<br />
| [[MRbuttCHINSx11T7]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x87}}<br />
| 0xE8<br />
| {{slot-id|0x09}}<br />
|- class=alt<br />
| [[Comet Starway]]<br />
| v1.4<br />
| [[WiiLuigi]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0xEF<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Dryland Hills]]<br />
| Beta<br />
| [[SpyKid]], [[Björn]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB1}}<br />
| 0x2D<br />
| {{slot-id|0x15}}<br />
|- class=alt<br />
| [[Citro's Wedding Altar]]<br />
| v2.1<br />
| [[SpyKid]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0xB3}}<br />
| 0xF3<br />
| {{slot-id|0x16}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Brick Block Cup}}<br />
| [[Cliff Village]]<br />
| v3.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x87}}<br />
| 0xCC<br />
| {{slot-id|0x09}}<br />
|-<br />
| [[Moonlight Downtown]]<br />
| Beta<br />
| [[WiiLuigi]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0xCD<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Sunny Island]]<br />
| v1.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| 1.5&times;<br />
| {{slot-id|0x75}}<br />
| 0xCF<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Crystal Dungeon]]<br />
| v3.11<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8F}}<br />
| 0xCE<br />
| {{slot-id|0x0F}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Blue Coin Cup}}<br />
| [[Aquadrom Stage]]<br />
| v2.7<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x85}}<br />
| 0xC8<br />
| {{slot-id|0x0F}}<br />
|- class=alt<br />
| [[Abyssal Ruins]]<br />
| v2.0<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0xC9<br />
| {{slot-id|0x1C}}<br />
|- class=alt<br />
| [[Kirio Raceway]]<br />
| v4.1<br />
| [[Super blooper kirio]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0xD9<br />
| {{slot-id|0x08}}<br />
|- class=alt<br />
| [[Icepeak Mountain]]<br />
| v1.0<br />
| [[4TLPati]], [[Florian]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x81}}<br />
| 0xE3<br />
| {{slot-id|0x06}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Green Star Cup}}<br />
| [[GBA Sunset Wilds (ChaosShadow23)|GBA Sunset Wilds]]<br />
| v1.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xB1}}<br />
| 0x2E<br />
| {{slot-id|0x15}}<br />
|-<br />
| [[DKR Ancient Lake]]<br />
| v2.0<br />
| [[DJ Lowgey]], [[Mewtwo2000]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0xC7<br />
| {{slot-id|0x13}}<br />
|-<br />
| [[N64 Toad's Turnpike]]<br />
| RC3<br />
| [[User:Torran|Torran]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0xE2<br />
| {{slot-id|0x0A}}<br />
|-<br />
| [[N64 Wario Stadium (Captain Kwark)|N64 Wario Stadium]]<br />
| v1.1<br />
| [[Captain Kwark]], [[Wiimm]], [[Tock]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9F}}<br />
| 0xE1<br />
| {{slot-id|0x12}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Goomba Cup}}<br />
| [[GCN Dry Dry Desert (sup3rsmash8)|GCN Dry Dry Desert]]<br />
| v0.1b<br />
| [[sup3rsmash8]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x89}}<br />
| {{slot-id|0x20}}<br />
| {{slot-id|0x15}}<br />
|- class=alt<br />
| [[GBA Riverside Park (ChaosShadow23)|GBA Riverside Park]]<br />
| v2.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA1}}<br />
| {{slot-id|0x21}}<br />
| {{slot-id|0x1D}}<br />
|- class=alt<br />
| [[Volcanic Pipeyard]]<br />
| v2.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| {{slot-id|0x22}}<br />
| {{slot-id|0x03}}<br />
|- class=alt<br />
| [[Concord Town]]<br />
| v4.0<br />
| [[RemyInTheSky]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAF}}<br />
| {{slot-id|0x23}}<br />
| {{slot-id|0x17}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Lakitu Cup}}<br />
| [[District 65]]<br />
| v1.0<br />
| [[HelloImYourMind]]<br />
| 1<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| {{slot-id|0x24}}<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[Lost Fortress]]<br />
| v2.5<br />
| [[MEGAKart69]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x91}}<br />
| {{slot-id|0x25}}<br />
| {{slot-id|0x0C}}<br />
|-<br />
| [[DKR Jungle Falls]]<br />
| v2.0<br />
| [[MrKoeikoei]], [[Mewtwo2000]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAD}}<br />
| {{slot-id|0x26}}<br />
| {{slot-id|0x13}}<br />
|-<br />
| [[Color Wonderland|Colour Wonderland]]<br />
| v1.1<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| {{slot-id|0x27}}<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Volt Shroom Cup}}<br />
| [[DS Bowser Castle (Wexos)|DS Bowser Castle]]<br />
| v1.0<br />
| [[Wexos]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| {{slot-id|0x28}}<br />
| {{slot-id|0x1C}}<br />
|- class=alt<br />
| [[DS Shroom Ridge]]<br />
| v1.1<br />
| [[SuperMario64DS]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| {{slot-id|0x29}}<br />
| {{slot-id|0x0A}}<br />
|- class=alt<br />
| [[GBA Peach Circuit (ChaosShadow23)|GBA Peach Circuit]]<br />
| v1.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x75}}<br />
| 0x2B<br />
| {{slot-id|0x09}}<br />
|- class=alt<br />
| [[GBA Rainbow Road (ChaosShadow23)|GBA Rainbow Road]] {{symbol|F062}}<br />
| v1.2<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0x30<br />
| {{slot-id|0x0D}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Acorn Cup}}<br />
| [[Halogen Highway]]<br />
| v0.2f<br />
| [[BigOto2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8D}}<br />
| 0x31<br />
| {{slot-id|0x0A}}<br />
|-<br />
| [[Item Fireland]]<br />
| v1.1a<br />
| [[Keiichi1996]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x8B}}<br />
| 0x34<br />
| {{slot-id|0x0C}}<br />
|-<br />
| [[Psyduck Cliffs]]<br />
| v1.3<br />
| [[Jefe]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9F}}<br />
| 0x3C<br />
| {{slot-id|0x10}}<br />
|-<br />
| [[Seaside Circuit]]<br />
| Beta 3-night<br />
| [[Super blooper kirio]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAF}}<br />
| 0x3D<br />
| {{slot-id|0x17}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Shy Guy Cup}}<br />
| [[Bayside Boulevard]]<br />
| v1.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA5}}<br />
| 0x3E<br />
| {{slot-id|0x0F}}<br />
|- class=alt<br />
| [[SNES Donut Plains 1 (Zilla)|SNES Donut Plains 1]]<br />
| v1.0<br />
| [[User:Zilla|ZillaSpaz]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x99}}<br />
| 0x3F<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[Subspace Factory]]<br />
| v1.3<br />
| [[Caron]]<br />
| &ndash;<br />
| 1.2&times;<br />
| {{slot-id|0x9B}}<br />
| 0xD0<br />
| {{slot-id|0x1E}}<br />
|- class=alt<br />
| [[Wetland Woods]]<br />
| v1.0<br />
| [[Vulcanus2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x85}}<br />
| 0xD1<br />
| {{slot-id|0x0F}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Thwomp Cup}}<br />
| [[Volcanic Skyway|Volcanic Skyway 4]]<br />
| v4.0<br />
| [[BigOto2]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xAB}}<br />
| 0xD7<br />
| {{slot-id|0x13}}<br />
|-<br />
| [[GP Mario Beach]]<br />
| Beta 2.1<br />
| [[SuperMario64DS]], [[DJ Lowgey]]<br />
| 7<br />
| 2&times;<br />
| {{slot-id|0x75}}<br />
| 0xE0<br />
| {{slot-id|0x18}}<br />
|-<br />
| [[3DS Bowser's Castle (MysterE99)|Bowser's Fiery Fortress]]<br />
| RC2<br />
| [[MysterE99]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x91}}<br />
| 0xE4<br />
| {{slot-id|0x0C}}<br />
|-<br />
| [[GBA Bowser Castle 2 (ChaosShadow23)|GBA Bowser Castle 2]]<br />
| v2.1<br />
| [[ChaosShadow23]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x9B}}<br />
| 0xE9<br />
| {{slot-id|0x1E}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Piranha Plant Cup}}<br />
| [[SNES Ghost Valley 1 (Zilla)|SNES Ghost Valley 1]]<br />
| v1.01<br />
| [[User:Zilla|ZillaSpaz]]<br />
| 5<br />
| 1.2&times;<br />
| {{slot-id|0x97}}<br />
| 0xF2<br />
| {{slot-id|0x19}}<br />
|- class=alt<br />
| [[SNES Koopa Beach 2 (maczkopeti)|SNES Koopa Beach 2]]<br />
| RC2<br />
| [[User:Maczkopeti|maczkopeti]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x95}}<br />
| 0xF5<br />
| {{slot-id|0x18}}<br />
|- class=alt<br />
| [[3DS Rainbow Road|Rainbow Road: Solar Edition]]<br />
| v1.0<br />
| [[BigOto2]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0xF9<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| [[Castle of Time]]<br />
| v1.7<br />
| [[MEGAKart69]]<br />
| 2<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0xFA<br />
| {{slot-id|0x1E}}<br />
|-<br />
| rowspan=4 {{cup-icon|page|Boomerang Flower Cup}}<br />
| [[SNES Ghost Valley 3 (James)|SNES Ghost Valley 3]]<br />
| v1.0<br />
| [[James]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x97}}<br />
| 0xFB<br />
| {{slot-id|0x19}}<br />
|-<br />
| [[Autumn Forest]]<br />
| v1.1<br />
| [[JorisMKW]]<br />
| 5<br />
| &mdash;<br />
| {{slot-id|0x8F}}<br />
| 0xFC<br />
| {{slot-id|0x0B}}<br />
|-<br />
| [[Heart of China]]<br />
| v1.5.3b<br />
| [[Wingcapman]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x79}}<br />
| 0xFD<br />
| {{slot-id|0x02}}<br />
|-<br />
| [[Blackrose Castle]]<br />
| v1.0<br />
| [[SpyKid]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0xA3}}<br />
| 0xFE<br />
| {{slot-id|0x02}}<br />
|- class=alt<br />
| rowspan=4 {{cup-icon|page|Rainbow Cup}}<br />
| [[SNES Rainbow Road (MrBean35000vr & Chadderz)|SNES Rainbow Road]]<br />
| RC1<br />
| [[MrBean35000vr]], [[Chadderz]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0x4A<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| [[GBA Rainbow Road (NiAlBlack)|GBA Rainbow Road]]<br />
| RC3<br />
| [[NiAlBlack]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0x5D<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| [[GCN Rainbow Road (CaronHT)|GCN Rainbow Road]]<br />
| v1.3<br />
| [[Caron]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0x58<br />
| {{slot-id|0x0D}}<br />
|- class=alt<br />
| [[SNES Rainbow Road (NiAlBlack)|SNES Rainbow Road 4]]<br />
| v1.2<br />
| [[NiAlBlack]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| 0x89<br />
| {{slot-id|0x0D}}<br />
|-<br />
| rowspan=2|<br />
| [[Star Slope]]<br />
| v1.2<br />
| [[igorseabra4]], [[User:Torran|Torran]]<br />
| &ndash;<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| {{slot-id|0x36}}<br />
| {{slot-id|0x0D}}<br />
|-<br />
| [[N64 Rainbow Road (Torran)|N64 Rainbow Road]]<br />
| v1.1<br />
| [[User:Torran|Torran]]<br />
| 1<br />
| &mdash;<br />
| {{slot-id|0x93}}<br />
| {{slot-id|0x39}}<br />
| {{slot-id|0x0D}}<br />
|}<br />
<br />
{{/Version History}}<br />
<br />
== Hidden Tracks ==<br />
While the game may have 216 visible tracks, there are two hidden tracks. These tracks may have been included in previous versions of CTGP-R and can only be accessed through a custom cup layout. The tracks are Star Slope and N64 Rainbow Road. To access N64 Rainbow Road, when selecting a track for the custom cup layout, enter the code UP, UP, DOWN, DOWN, LEFT, RIGHT, LEFT, RIGHT, HOME/START (Depending on your controller of choice). [https://www.youtube.com/watch?v=Rey9Fc_-HMg How to unlock N64 Rainbow Road] To access Star Slope, when selecting a track for the custom cup layout, enter the code LEFT, UP, RIGHT, LEFT, UP, RIGHT, HOME/START (Depending on your controller of choice). [https://www.youtube.com/watch?v=geIlHF-VzMI How to unlock Star Slope]<br />
<br />
== Special Features ==<br />
Below are listed special features that are included in this distribution:<br />
<br />
=== Channel Features ===<br />
{| class="textbox grid sortable alt"<br />
|+ Channel Features<br />
! Feature<br />
! Author<br />
! Information<br />
|-<br />
| Automatic Updates<br />
| [[Chadderz]]<br />
| The CTGP-R Channel can automatically update the pack as track updates become available.<br />
|-<br />
| Cheat Blocking<br />
| [[Chadderz]]<br />
| The CTGP-R Channel has been designed to be more secure than a [[Riivolution]] distribution and to disallow cheat codes on Wi-Fi.<br />
|-<br />
| Cup/Course Organiser<br />
| [[MrBean35000vr]]<br />
| The CTGP-R Channel features a cup/course organiser allowing users to choose their own cup layout in game.<br />
|-<br />
| Automatic [[BRSAR]] Patching<br />
| [[Chadderz]]<br />
| The CTGP-R Channel can automatically make alterations to the [[Filesystem/sound/revo_kart.brsar|revo_kart.brsar]] file to update the lengths of the game's music files. This means it is no longer necessary to patch revo_kart.brsar when using custom music in the ''My Stuff'' folder.<br />
|-<br />
| Channel Music<br />
| [[Chadderz]]<br />
| Background music can be added to the CTGP-R Channel by dropping MP3 files in /ctgpr/ChannelMusic on the user's SD Card. The music files play randomly while the channel is active.<br />
|-<br />
| Time Trial leaderboards<br />
| [[MrBean35000vr]] and [[Chadderz]]<br />
| Online leaderboards are available for all custom tracks and Nintendo tracks. Player created ghosts are automatically transmitted to these leaderboards.<br />
|}<br />
<br />
=== Game Features ===<br />
{| class="textbox grid sortable alt"<br />
|+ Game Features<br />
! Feature<br />
! Author<br />
! Information<br />
|-<br />
| Custom Menu System<br />
| [[Chadderz]]<br />
| This distribution is the first to make use of custom menus to load custom course slots. The cup selection menu is modified with two buttons featuring arrows to the left and right of the main cups. When selected, these buttons cause the current on-screen cup buttons to be replaced with other cups, including custom cups, creating a scrolling menu system. All custom tracks are stored inside custom cups.<br />
|-<br />
| [[Custom Tracks Worldwide]]<br />
| [[User:XeR|XeR]]<br />
| This distribution is capable of searching for random players to play custom tracks with. When running the pack, simply press the Regional / Continental button (which is renamed to "Custom Tracks Worldwide") to search for custom track players. You can also join your friends who are playing CTWW, and they can join you. This feature is currently experimental, but seems to be working correctly. Credits to [[User:XeR|XeR]] for finding the required values to do this.<br />
|-<br />
| [http://www.youtube.com/watch?v=asH2uPN1pGA Change Characters Between Wi-Fi Races]<br />
| [[MrBean35000vr]]<br />
| When in online play, the player's character, vehicle and drift mode choice may be changed between races by pressing + on the Wii Remote (or Start on the GCN Controller) when on the VR screen. This simply takes the player back to the character select menu, and then returns them to the vote when they have reselected. If the time limit expires, the currently selected options are taken.<br />
|-<br />
| Random Track Selection<br />
| [[Chadderz]]<br />
| When in CTWW mode, picking random will allow the game to select a custom track based on a number provided by the game's RNG system. It can also be triggered by pressing + or Start (depending on your controller), and may be used offline to randomly select a track to play on.<br />
|-<br />
| Wi-Fi Timer<br />
| [[Chadderz]]<br />
| The countdown timer on the Wi-Fi voting screen is always shown now, rather than just when you're about to run out of time. This can give you a better idea of how long you have to make a decision when voting. The time allocated is 30 seconds.<br />
|-<br />
| Wi-Fi Time Limit Expansion<br />
| [[Chadderz]]<br />
| This distribution makes a modification to the race time limit on Wi-Fi. It has been expanded from 5 minutes to 5:40, allowing longer tracks to be entered and played through to completion. The game has another hard limit of 5:56 before it disconnects everyone, so it is impractical to increase the time beyond 5:40, as the time advances even when looking at leaderboards. If 5:40 is reached, the pack forces you past the leaderboards quickly to avoid disconnection.<br />
|-<br />
| Ghost Blocking<br />
| mdmwii<br />
| The game will not save ghosts at all in order to try to prevent save data corruption and accidental overwriting of ghosts. Personal leaderboards are also not updated. This feature is only temporary as future releases will support ghost data saving in a much more secure way.<br />
|-<br />
| Draggable Blue Shells<br />
| [[MrBean35000vr]]<br />
| Blue Shells can now be held behind you like Red Shells. They will explode on contact, but not hurt the player. They can be used to protect against other items being shot from behind, but if wheelie-bumped while holding a Blue Shell behind you it will fall away and disappear. Only one Blue Shell can exist at once, so even when it is held out behind you it will be impossible for anyone else to get one from an item box.<br />
|-<br />
| [http://www.youtube.com/watch?v=bn3Xn6OgYf4 Speedometer]<br />
| [[Chadderz]]<br />
| There is a speedometer in the lower right hand corner of the screen. This only works in single player modes.<br />
|-<br />
| [http://www.youtube.com/watch?v=3xz3i3IxHwc Max Lap Count Modifier]<br />
| Geeh and MrEvil<br />
| A track can have anywhere between 1 and 8 laps.<br />
|-<br />
| [http://www.youtube.com/watch?v=UOPIm79ijfY Speed Modifier!]<br />
| [[MrBean35000vr]]<br />
| Tracks have a speed modifier applied (e.g. 2&times; speed) which causes all parts of the game's physics to move at the increased speed (including vehicles, items and boosts).<br />
|-<br />
| [[Countdown Mode]]<br />
| [[MrBean35000vr]]<br />
| Countdown Mode has been added as a replacement for battles in single player online play.<br />
|-<br />
| [[Wiimmfi Project|Custom Server Support]]<br />
| [[Wiimm]] and [[User:Leseratte|Leseratte]]<br />
| Support to play on a custom MKW server has been added as a replacement to Nintendo WFC.<br />
|-<br />
| [[Item Rain]]<br />
| [[MrBean35000vr]] and [[Chadderz]]<br />
| Item Rain mode is available in offline play and online friend rooms. This is not compatible with the Item Rain GCT.<br />
|-<br />
| [[LAN Multiplayer]]<br />
| [[MrBean35000vr]] and [[Chadderz]]<br />
| LAN Multiplayer is available as an alternative to custom server support for connecting multiple instances together. This is compatible with the standalone LAN Multiplayer mod.<br />
|-<br />
| [[High Data Rate]]<br />
| [[MrBean35000vr]] and [[Chadderz]]<br />
| High Data Rate is available for online friend rooms. This is compatible with the GCT as long as the room host is using CTGP-R.<br />
|}<br />
<br />
{{User-MrBean35000vr-Link}}<br />
{{User-Chadderz-Link}}<br />
[[Category:Distribution]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Template:CTGP/Version_History&diff=135343Template:CTGP/Version History2018-05-18T07:42:27Z<p>Chadderz: New features for 1.03.0058</p>
<hr />
<div><includeonly>==Version History==<br />
</includeonly>{| class="wikitable"<br />
|-<br />
! align=left| Version<br />
! align=left| Date of release<br />
! align=left| Tracks<br />
! align=left| Information<br />
|-<br />
| [[CTGP 2.8]]<br />
| 2010-10-12<br />
| 28 Tracks<br />
| First release<br />
|-<br />
| [[CTGP 4.4]]<br />
| 2011-03-01<br />
| 44 Tracks<br />
|<br />
* [add] 16 new tracks<br />
|-<br />
| [[CTGP Revolution v1.0|CTGP Revolution v1.00.0000]]<br />
| 2011-10-02<br />
| 104 Tracks<br />
|<br />
* [add] 60 new tracks<br />
* [change] Wi-Fi time limit to 5:40<br />
* [add] Ghost Blocking<br />
* [add] Custom Menu System<br />
|-<br />
| [[CTGP Revolution v1.01|CTGP Revolution v1.01.0001]]<br />
| 2011-12-27<br />
| 128 Tracks<br />
|<br />
* [add] [[CTWW]]<br />
* [add] 24 new tracks<br />
|-<br />
| [[CTGP Revolution v1.02|CTGP Revolution v1.02.0003]]<br />
| 2012-09-30<br />
| 184 Tracks<br />
|<br />
* [delete] Nintendo tracks in [[CTWW]]<br />
* [add] 56 new tracks<br />
* [add] Draggable Blue Shell<br />
* [add] Wi-Fi Timer<br />
* [add] Speedometer<br />
* [add] Random Selection<br />
* [fix] Demo Videos<br />
* [fix] Multiplayer bug<br />
|-<br />
| [[CTGP Revolution|CTGP Revolution v1.03]]<br />
| 2014-01-12<br />
| 216 Tracks<br />
|<br />
* [add] Homebrew Application to launch<br />
* [add] CTGP-R Channel<br />
** Cup/Course Organiser<br />
** Lap Count & Speed Modification<br />
** Automatic Updates<br />
** Automatic BRSAR Patching<br />
* [add] Cheat Protection<br />
* [add] 64 new tracks<br />
* [add] Character Changer<br />
* [add] [[Countdown Mode]] (in v1.03.0040)<br />
* [add] [[Wiimmfi Project|Custom Server Support]] (in v1.03.0050)<br />
* [add] [[LAN Multiplayer]] (in v1.03.0058)<br />
* [add] [[Item Rain]] (in v1.03.0058)<br />
* [add] [[High Data Rate]] in friend rooms (in v1.03.0058)<br />
* [fix] Random Selection bugs<br />
* [fix] Old track bugs<br />
* [remove] 32 outdated tracks<br />
* [remove] Riivolution support<br />
|}<noinclude>[[Category:Template/Include]]</noinclude></div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:MKW_Hack_Pack&diff=135342Talk:MKW Hack Pack2018-05-18T07:39:22Z<p>Chadderz: /* Codes and Edits */ Reply</p>
<hr />
<div>If there are any contributions that you want to make to the MKW Hack Pack or if you have any other feedback on this distribution please talk about it here. {{Sig|Huili}}<br />
<br />
== Distrubtion ==<br />
<br />
Some tracks are very good like on Wiimms Distrubtion. But many tracks are buggy and someone freeze the Wii. --[[User:Snake|Snake]] ([[User talk:Snake|talk]]) 13:55, 29 September 2014 (UTC)<br />
<br />
:Thank you for your input Snake, I appreciate it. Right now this [[Custom Track Distribution]] is in it's beta state, so I am doing a thorough investigation of every track just to see which ones stay and which ones go, while still sticking close to two priorities that I will try my best to stand by: Have no tracks from the current version of [[CTGP Revolution]] with the exception of texture edits of tracks from that [[distribution]], and have 2 texture tracks per person. As for tracks that freeze/glitch/lag, or are buggy, I'm giving custom track creators time to improve on them so that they can have a chance to have their track featured in this [[distribution]]. I'm also waiting this out so that I can incorporate new custom tracks into this [[distribution]], so the list you see right now isn't the final product. -- [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 02:14, 30 September 2014 (UTC)<br />
<br />
::At first, thanks for your answer and the info. I understand your project. Well. I think the Authors from all the tracks in your distrubtion they not fix the buggy tracks, because many of them left the wiki some time ago. I have write long time ago a wishlist on my page. Maybe you have see it. But i notice, nothing of my wish are be in progress and finished. I have to give up the hope . But maybe in future there comes a suprise. I will see.<br />
::Good luck. --[[User:Snake|Snake]] ([[User talk:Snake|talk]]) 11:59, 30 September 2014 (UTC)<br />
<br />
== Question ==<br />
I see [[Color Wonderland]] on the tracks list (61.1). I never released it, because it is not finished, so I was wondering why it is on the list. Is that a mistake or did you just 'reserve' that slot for when the track is done?--[[User:Buschkling|Buschkling]] ([[User talk:Buschkling|talk]]) 21:13, 9 October 2014 (UTC)<br />
<br />
:I realize that once I end this conversation, you might be very angry with me. But I found your track [http://download.wiimm.de/mkw-track-archive/ Here]. I feel that after testing it, it was very worthy of adding to the distribution. Personally, I love the track, and if anyone digresses, they can find another distribution. Also, you may not like me for doing this, but as I type this, I'm already uploading the full beta version right now, and your track is on it. But if you're not convinced yet that what I'm doing right now is a good idea, let me give you some food for thought:<br />
<br />
:'''Eclipse Cove, granted, it isn't the track in question here, but the same concept is relevant, namely, that track, according to you, was/is not finished. But it was in your CT pack was it not? OK, I'll let it go at that for that track, but I have another reason for you to consider. Since I'm already uploading it, why not let some decide for themselves whether it's complete or not? I certainly felt it was. Also, I'm not going to cancel the upload unfortunately right now because of the size, and I'm leaving as well. so by the time I get back it will be fully uploaded. I really don't want to bother uploading it again. So if you REALLY want me to take the track out afterwards, please understand this: I probably won't reupload another one.''' [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 10:45, 9 October 2014 (UTC)<br />
<br />
::The version of Color Wonderland you got there is an '''old, unfinished preview version'''. It does not work completely on VS race and there are still many bugs (as invisible walls, wrong respawns, item routes not complete) and texture errors. I don't even know why it is on that track archive. Also it sucks when people see the track in your pack, thinking it's done, then play it and get this glitchy old version of it. I didn't want people to play this track before it isn't finished. It would have been nice if you asked for permission first! You could clearly see that track was not finished, because of the bugs and as it said it's still in progress and bugs to be fixed on the wiki page. Eclipse Cove was something different - it was at least completely functional with some smaller bugs. So, please remove it. If you can't do it right now, please do when you update this pack or something.--[[User:Buschkling|Buschkling]] ([[User talk:Buschkling|talk]]) 07:36, 10 October 2014 (UTC)<br />
<br />
:Out of consideration, I have removed it from my regular download, nobody will be able to play it on that version. As regards the full beta version, at this point, I have decided to reupload the distribution without it. Although that may sound unreasonable to some, I'm going to do that. Sorry for any inconvenience this may have caused.[[User:Huili|Huili]] ([[User talk:Huili|talk]]) 14:58, 10 October 2014 (UTC)<br />
<br />
Just a reminder: Custom content added to the Wiiki can be included in any Distribution unless specifically prohibited by the content's author. Failure to abide by this rule means the removal of said Distribution from the Wiiki. That is all. --[[User:Torran|Torran]] ([[User talk:Torran|talk]]) 14:20, 10 October 2014 (UTC)<br />
<br />
:Then it ain't worth having my distribution removed because of just one track. I will take action now.[[User:Huili|Huili]] ([[User talk:Huili|talk]]) 14:58, 10 October 2014 (UTC)<br />
<br />
== Stolen Website ==<br />
<br />
It appears that the content of the "English" section of the pack's 'wiki' [http://mkw-hack-pack.byethost4.com/] is entirely copied from my site [http://www.chadsoft.co.uk]. This is neither permitted in writing on my site, nor acknowledged on your site. Worse, you have removed our copyright notice and replaced it with your own. The text isn't even relevant for your pack. Care to explain?<br />
<br />
[[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:18, 27 October 2014 (UTC)<br />
:I am the author of the Web site. I got the file to the person of the author of [http://remakekart12.tk this site]. I have created a web site of MKW Hack Pack by editing it<br />
:--[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 20:17, 27 October 2014 (UTC)<br />
:: Please take down all these websites immediately. At the moment these look like the CTGP homepage, so search engines and people may be confused. Keep developing websites on PRIVATE servers.<br />
:: I don't mind my work being used as a template if this is CLEARLY ACKNOWLEDGED. It's polite to ask first too.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:06, 27 October 2014 (UTC)<br />
: Both parties have agreed in private chats to change the websites as soon as possible. They will change the content to remove references to CTGP-R to save confusion, and will acknowledge any borrowed content or code.<br />
: "[21:40:59] AC: Because I am busy now Can I change later? [21:41:13] Chadderz: OK, but do it soon [21:41:36] AC: ok"<br />
: "[21:13:26 | Edited 21:13:46] Horsti: sorry, it was actually planned that I finished the website weeks ago, but I didn't had time for that. but now I have autumm breaks so I can do it for sure"<br />
: When that is done, I will consider this matter resolved.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 27 October 2014 (UTC)<br />
I just saw this now, and I deeply apologize [[Chadderz]] that this event took place, as I find myself at great fault. And yet at the same time it's akward, because I didn't exactly plan on doing a separate wiki for my distribution initially, and henceforth, I personally will only be using this wiki to promote the [[MKW Hack Pack]], but [[AC mkw|AC]] asked me if I wanted to have a separate wiki for the [[MKW Hack Pack]], so after a few attempts of talking to me I decided to essentially "give in" to [[AC mkw|AC's]] wants and I allowed him to make various wikis, including this wiki in question. However, I want you to know this, that the only wiki that I actually physically contributed to was [http://mkw-hack-pack.lima-city.de/index.php/Main_Page This one, it is no longer online because AC deleted it]. All the other ones I never physically had a hand in, including the one where he copied your information without consent. I take full responsibility for his actions, regardless of the circumstances involved.<br />
<br />
Granted, it's rather ironic that I'm caught up in all this simply because it's my distribution and I gave [[AC mkw|AC]] full reign to administer the wiki as he pleases. So now I have to answer to you [[Chadderz]] because of something [[AC mkw|AC]] has done. Now I'm concerned, worried even, that this might jeopardize my distribution being here on this wiki. So now I find myself in a position, of all position, begging you, honestly, to cut me some slack in this regard. I put too much work into this to have things go awry so quickly and suddenly, almost makes me way to cry really. Again, don't get me wrong, I do take responsibility for him yes, but it's a little bit unfair to me you know I'm trying to say here I hope? [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 03:47, 28 October 2014 (UTC)<br />
: It's alright, everyone makes mistakes. While I am annoyed that my website was taken without asking and the copyright was removed, the most worrying thing for me is that it currently says CTGP everywhere. Someone could very easily find that site and believe it to be our official website. There isn't even some big red text saying under construction. When I'm building a website, I always include a banner somewhere saying this is not the final, official website and that its contents should be ignored. Both sites are already in the Google index, which means Google is free to show it in search results. Neither you nor I have control over who places first in search results related to CTGP, so we just have to hope it's the right one.<br />
: I am happy for my website to be used as a template for ideas, but it would be polite to ask first, or at the very least to acknowledge this somewhere. A small portion of my web design was done by a friend who is a professional web developer. He may not be happy for you to take his work without paying. This mainly relates to the CSS code which has been copied then modified, or at least copied in part.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:35, 28 October 2014 (UTC)<br />
<br />
:: I was an afterthought the contents of the copyright to the web site.<br />
:: '''Did I am sorry to have gone over the nuisance'''<br />
:: --[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 11:40, 28 October 2014 (UTC)<br />
<br />
== ISO Patcher ==<br />
<br />
Hello Huili, <br />
<br />
on the wiki page of your "MKW Hack Pack" you wrote that your pack will support the CTGPR-Countdown Mode and will support ISO patchers. Are both statements correct? If yes, can you tell me how to use the Countdown Mode and the Lap count modifier in an own ISO patcher? As far as I know, both the Countdown Mode and the Lap count modifier only work with Riivolution as they both need a code handler and some cheat codes ...<br />
<br />
[[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 13:43, 14 April 2015 (UTC)<br />
::I'm not sure if v1 will include the ISO Patcher... It might be included in v2 though. I've talked to Huili about it.<br />
::[[User:Larsenv|Larsenv]] ([[User talk:Larsenv|talk]]) 15:02, 14 April 2015 (UTC)<br />
:::V1 will not include an ISO Patcher. Unfortunately, at this point in development, Countdown for my distribution is not working like it should. I discovered that when you start a race or time trial offline, the number of laps any tracks has automatically are the points you get at the start of the race. For example, if a track has, say, 8 laps, that will be your score. However, the score will not increase at all. It will stay the same. The reason I think this is happening is obvious, the score got itself mixed up somehow with the max lap count modifier, but how to solve this, I have no idea. So before I can ever make an iso patcher release I have to figure this out. [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 21:37, 15 April 2015 (UTC)<br />
::::Problem solved. But at this moment in time, I have no idea how to implement those features into an iso patcher, I'll have to look around for someone that knows that kind of stuff. [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 21:37, 15 April 2015 (UTC)<br />
<br />
== Yoshi and Birdo egg cup ==<br />
<br />
Your pack features a green egg cup and a pink egg cup. Though, they are about the same as the yoshi egg and Birdo egg cup in CTGP-R. Might be something you should change. --[[User:Koenie|Koenie]] ([[User talk:Koenie|talk]]) 15:44, 6 May 2015 (UTC)<br />
<br />
== Top City ==<br />
<br />
Is the new version (v2.0) of [[Top City]] in here? I just want to know. <br> [[User:Wexosmk|WexosMk]] ([[User talk:Wexosmk|talk]]) 07:10, 15 July 2015 (UTC)<br />
<br />
:Yes it is, and I kept it at 5 laps. Periodically I will do updates of the pack, but not as frequent as ctgp. [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 13:19, 15 July 2015 (UTC)<br />
<br />
:: Ok, It saw it still stood v1.0 on the page and it also stood 4 laps so thats why I asked. [[User:Wexosmk|WexosMk]] ([[User talk:Wexosmk|talk]]) 15:39, 15 July 2015 (UTC)<br />
<br />
== About Pack ==<br />
<br />
Hello. How did you get 3DS Music Park? There is no official release. And i hear on PAL the track freezed.--[[User:Snake|Snake]] ([[User talk:Snake|talk]]) 17:06, 18 April 2016 (UTC)<br />
: I think he contacted Atlas directly. --[[User:Wg93589|Wg93589]] ([[User talk:Wg93589|talk]]) 19:18, 18 April 2016 (UTC)<br />
<br />
== Removal of Leaf Piles, Goombas, ect????? ==<br />
<br />
"[[Huili]] also is attempting to make this [[distribution]] more competitively viable by removing any luck-based elements, so that means Goombas, woodboxes, and leaf piles are removed due to their giving the player free items." This is one thing that i just completely don't understand. Its freakin mario kart, of course there is going to be a bit of luck involved. You might as well remove item boxes and the unpredictable MoM since they're luck based too. --[[User:CaptainToad67867|CaptainToad67867]] ([[User talk:CaptainToad67867|talk]]) 11:40 2 May 2016 (UTC)<br />
<br />
::Umm, it's a very silly move to remove leaf piles, goombas and woodboxes because of luck? (Besides, you can set the objects to NOT give out items in the KMP...) I disagree with this ridiculous change. I wasn't asked for permission to remove objects from my tracks, and I don't want my "half" tracks with lacking objects in a CT distribution. Keep my tracks as they are, or remove them, please.--[[User:Buschkling|Buschkling]] ([[User talk:Buschkling|talk]]) 17:10, 2 May 2016 (UTC)<br />
<br />
::::Then whats the setting in the KMP to stop objects from giving out items? --[[User:Wg93589|Wg93589]] ([[User talk:Wg93589|talk]]) 22:36, 2 May 2016 (UTC)<br />
<br />
::::: Both "woodbox" and "karehayama" (the leaf pile) have a setting for the item probability. Can't you set it to 0? And when you guys are complaining about simple changes like removing objects why don't you first complain about the massive changes in CTGP, like, removing all the madness from [[Mansion of Madness]] or removing a shortcut from [[Haunted Woods]]? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:36, 3 May 2016 (UTC)<br />
<br />
::::::Since when does "madness" have to mean epileptic animations, spam of undetectably fast objects and random fall boundaries? I won't go any further into this, since it has been discussed endlessly.<br />
<br />
::::::As for the Haunted Woods cut, the only thing I've seen about it are complaints. If a shortcut needs to have the Bullet Bill nerfed to stay "balanced" then I think it's better to just not have it at all. Even [[WorldsBoss]], the track's designer wanted the cut gone by now.<br />
::::::--[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 13:12, 3 May 2016 (UTC)<br />
<br />
<br />
Honestly, I believe this update is ridiculous and nonsensical. Removing goombas, and woodboxes is just plain dumb. Those two items are not "luck" objects. Yes, it is possible for shrooms to come out of both of these objects, but it rarely happens that it gives someone a major advantage. In fact, if you are aiming to make your pack more geared towards competitive players, I would keep goombas and boxes. It is quite common for competitive players to use a shell to hit a goomba, so that a shroom comes out. This is commonly referred to as "shroomba" and is very common with the first grass cut on Koopa Cape. It is also popular on tracks such as Sunset Ridge and Seaside Resort. In regards to leaf piles, although it is possible that power items will come out of leaf piles, this is easily edited in the KMP. You can set it so that no items come out, if you really think that one shroom will change a race that much. <br />
<br />
I do not control your pack, you make whatever decisions you want. But, I think I can speak on the subject of author request. Spykid has asked you to not edit his tracks without his permission, but yet, you continue to edit them. Spykid did not want these goomba, leaf pile, and woodbox changes to be made to his track, so Spykid politely asked for the tracks to be removed. And I quote <br />
[20:20:08] Spy Kid: i didn't say that i mean just ask for my permission and see if i agree if you change something to my tracks<br />
[20:20:14] Huili Gou 🏁: denied<br />
You DENIED his request to edit HIS TRACK. Do you not see the flaws in this? It is HIS track. You are editing it without his permission. And this is after you harassed Torran and repeatedly expressed your dislike at him editing Mansion of Madness with Sucht's explicit approval. Now, you are doing something much worse in refusing to remove a track that the creator does not want in your pack. And let me remind you, this is not the first time this has happened. You used a test version of Sea Stadium and put it in the Hack Pack without any sort of permission from the creator. And while I'm at it, I'll mention Heart of China. An old version of Heart of China by Wingcapman was given to you, to use only in Hack Pack. But, because of your incompetence in creating a Custom Track pack, you put the track right in the folders. Unsurprisingly, this private version of Heart of China was released to the public. <br />
<br />
Back to the original topic. Leaf piles, wood boxes, and goombas. These three objects are never complained about by anyone in the competitive community. They are objects from the original Mario Kart Wii game, and no one complains about them being included. You, have taken a complete non-issue and "fixed" something that never needed to be fixed. In April, there were five Custom Track distributions that had more logins than the Hack Pack. Clearly, your pack is not as popular as you want it to be. Before taking risks by "fixing" non-issues, fix the real problems. Listen to what people who play your pack want. I highly doubt they want these objects to be removed. Fix the big problems first, not tiny problems that have never even been noticed by anyone besides you<br />
<br />
--[[User:MZ|MZ]] ([[User talk:MZ|talk]]) 21:02, 3 May 2016 (UTC)<br />
<br />
:If the highlights of your courses include Goombas, Wooden Boxes, and leaf piles, then your issues with these tracks extend beyond these changes. Nowhere is it stated that a distribution author cannot modify tracks, and even if it was, you cannot stop someone from doing so. Tough luck. To be honest, SpyKid & co have no valid reason to ask anyone to ''not'' edit their tracks and remove a few meaningless objects. That's not going to break the course. I find that people will choose to say "no" when not needed - just for the sake of saying no. Say YES whenever you can. It HARMS NO ONE.<br />
<br />
:Let's spin this: Did you ask Nintendo if you could texture hack their courses, or use their material? In this case, just to thwart this nasty attitude, I encourage ''further'' changes to made at the pack author's discretion. If anything, you do yourself a disservice by pressing a meaningless issue over useless objects and trying to remove your tracks. By releasing an "original" work (Which also happens to be comprised of the work of many others), you're leaving it open to have assets ripped, modified, and removed without your prior knowledge. If you do not want people messing around with it, ''don't release it''. In this case, someone's choosing to get upset over such a minour issues involving the removal of unimportant, useless objects.<br />
<br />
:In all, this is hardly a "you didn't ask permission" issue. Rather, these are a few individuals choosing to get upset over the removal of objects, and inserting this "permission" rule as a way to invalidate these changes. I vote they stay. In the future, both parties should first contact one another ''before'' going public, reach a reasonable decision, and everyone walks away satisfied. Though the pack author ''should'' have asked permission, they did not have to, especially for something so small. To reiterate: Goombas. Boxes. Leaves. In the future, it will better serve you to focus your energy on more pressing issues. --[[User:SuperMario64DS|SuperMario64DS]] ([[User talk:SuperMario64DS|talk]]) 16:11, 3 May 2016 (UTC)<br />
<br />
:: I say 100% YES to your comment! Thanks for that...Hopefully this discussion ends here and people who like Huilis idea can continue playing SpyKid-tracks in Hack Pack and people who don't like his idea can just ignore Hack Pack again. --[[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 16:39, 3 May 2016 (UTC)<br />
<br />
:::It's ok. I just want that my tracks get reverted to their original state when the distribution gets the next update, please (Huili mentioned he updates it soon because of a black screen on a track). That's not hard work and not too much to ask for, right?--[[User:Buschkling|Buschkling]] ([[User talk:Buschkling|talk]]) 18:11, 3 May 2016 (UTC)<br />
<br />
:::: It does not matter whether or not what Spykid wants to be done is unreasonable here. We are not discussing whether or not it is "A lot to ask for" They are his tracks, he gets to choose if they get edited or not. End. Of Story. <br />
<br />
:::: --[[User:MZ|MZ]] ([[User talk:MZ|talk]]) 21:22, 3 May 2016 (UTC)<br />
<br />
Think it's about time I spoke and this time, I honestly believe that people want my distribution REMOVED from this Custom Mario Kart Wiiki. Now I have no proof of this, but I don't want anyone to step forward and say that isn't true either.<br />
<br />
As for the reason that I removed those objects, my reasoning on it is that it is the EXACT SAME CONCEPT as getting an auto shroom, star, or any other item from a special item box AND NOT A REGULAR ITEM BOX. <br />
<br />
I am also well aware that I didn't ask for consent [[SuperMario64DS]]. However, I've always believed that it is better to ask for FORGIVENESS RATHER THAN CONSENT. Why? Because, as you can see here, I get to see peoples true attitude on the matter. After seeing this, I can tell you right now that I won't be asking anyone for consent. Because I know I'm going to be in trouble for saying that, I have a proposal, and I ONLY want the approval of [[Wiimm]], [[User:Leseratte|Leseratte]], and [[Tock]] on this:<br />
<br />
'''I want this [[distribution]] to ALWAYS STAY on this Custom Mario Kart Wiiki, and I hereby swear that if you approve of that, I will NEVER RELEASE ANY INDIVIDUAL TRACKS onto this Custom Mario Kart Wiiki.''' I believe this request is reasonable for a few reasons:<br />
<br />
1. Unreleased tracks on CTGP. I think this is self-explanatory, so I'm not going to explain. 2. To my knowledge, I have released very few to no tracks in the past onto the Custom Mario Kart Wiiki that were from my [[distribution]] and even if this agreement doesn't happen, I will continue to not release tracks anyways. so that it won't disrupt what's going on here in the community, my edits to other ct authors tracks will continue to be my edits, and anyone who wants the tracks will have to download them from my [[distribution]] no matter what happens. 3. Hypocrisy. Unusual reason here, but let me explain Wiimm. You're a very respected person, if not the most respected person in this community, so when you edit a track, I've never heard anyone say anything negative about the track changes made by you, yet when I make a simple edit to a track, this happens. Partial distinctions are COMPLETELY UNFAIR. 4. There is always the chance that there is going to continue to be petty arguments like this that will threaten the existence of my [[distribution]] on the Custom Mario Kart Wiiki.<br />
<br />
Carefully weigh this decision in the balance, and get back to me whenever you reach an agreement. Either way, I have confidence that you will reach a reasonable conclusion, whether I like it or not, I will accept it. Have a good day guys! [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 19:02, 3 May 2016 (UTC)<br />
<br />
:1. You can't compare an open distribution to a closed one, just saying. It's the author's choice if he doesn't want ''his'' track parts to be salvaged. 3. There isn't any partial distinction here. You just can't compare your edits to Wiimm's. Wiimm actually makes beneficial KCL and KMP tweaks, while all you did was remove the "luck-based" objects for the sake of "competitivity", which is simply not for this game.<br />
:--[[User:Maczkopeti|maczkopeti]] ([[User talk:Maczkopeti|talk]]) 19:47, 3 May 2016 (UTC)<br />
<br />
:: I planned to say nothing about it, but now I'm addressed by Hulli.<br />
<br />
:: Yes, you're right: I have edited many tracks without any protest. There are different reasons for it:<br />
::# I ask the authors or they ask me. You can find many request of me scattered in this wiki. And some permissions are handled by other communication ways.<br />
::# Only for minimal changes like changing lap counter, speed mods or repairing bugs I do it without explicit permission.<br />
::# Most important: I try to don't change the charm/character of a track -- it's nearly always more a fix. And I remove objects only for technical reasons (slo mo).<br />
:: On the other hand, I see all custom objects (tracks, vehicles, fonts, ...) more as public domain. No one asked Nintendo for their permission for using modifying their object. And I believe, without the open and public handling of *all* including knowledge, the community would be much smaller.<br />
:: '''However, asking for permission is a part of etiquette and friendliness. And that is also very important for the community!!'''<br />
<br />
:: Another point: I don't follow your idea to remove luck-based elements. MKW is for many years a very popular game. And I believe, that the main reason are the luck-based elements. Because of it, excellent player can lose a race and are annoyed. On the other hand, not so good player may win some races and very lucky. And this emotions are the base of the success of MKW. And luck-based elements are also important for the tactic.<br />
:: And see MK8: Luck-based elements are reduced, you can hold only ne item, and if you drop it you don't know, if you get a new one or only a coin. I think that is one reason that many people like MKW more than MK8.<br />
<br />
:: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 20:07, 3 May 2016 (UTC)<br />
<br />
:::-- I would just like to point out that Huili not releasing tracks on the Wiki basically does nothing. His pack does not protect the SZS files in any way. People can just download the pack and take an SZS file right out if they want to. For example, Wingcapman gave Huili permission to use a version of Heart of China that was not yet released. Unsurprisingly, the track was taken right from the pack and leaked without Wingcapman's approval. I don't think this part of the argument should be taken into consideration at all. It just makes people spend an extra 2 minutes to get a track.<br />
<br />
::: --[[User:MZ|MZ]] ([[User talk:MZ|talk]]) 20:59, 3 May 2016 (UTC)<br />
<br />
::: There still hasn't been any good explaination why the CTGP team should be allowed to edit other people's tracks (Haunted Woods, Mansion of Madness) because they don't like parts of the track like a shortcut or a fall boundary, and Huili should not be allowed to do the same to tracks in his distribution by removing some objects. If I recall correctly, Sucht93 did also NOT approve the CTGP edits of his track - so why are the CTGP-edits on tracks accepted and the MKW-Hack-Pack-edits aren't? And, @Maczkopeti, where has that been discussed "endlessly"? I haven't seen any discussion about this topic on the wiki. <br />
::: It should either be "everyone can change everyone's track as he wants, without the author's permission" or "Only bugfixes like new item routes, enemy routes, or fixing things that are obviously a mistake and not meant to be as they are are allowed and nothing else", but not "Some people may edit tracks as they want and others must not".<br />
::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 04:12, 4 May 2016 (UTC)<br />
<br />
:::: Haunted Woods' fixes were approved, and even encouraged by the creator. I agree with you 100% on what Torran did to Mansion of Madness. That was NOT right, and I have voiced my opinion on this topic to him. Sadly, I was not so involved in the community when this was going on, and I didn't think to stop it. I believe that no track should ever be edited without author approval unless the author is not reachable or has left the community. What Huili is doing, and what Torran did are both very bad in my mind. But, I do believe that what these people have done should not be attributed to CTGP. Mr Bean and Chadderz never edited any tracks without approval. This is not their work, and CTGP should not be brought up in the discussion. --[[User:MZ|MZ]] ([[User talk:MZ|talk]]) 05:16, 4 May 2016 (UTC)<br />
<br />
: I agree with Leseratte and Wiimm. I don't see the point in any of this. If unauthorized edits to tracks are more than welcome for CTGP but not for any other distribution, then something is wrong with this community. But at the same time, MKW is built on luck-based elements like leaf piles and such. Removing them is like removing the RNG from RPG's; it just doesn't work like that. I honestly think Huili should avoid the problem altogether and release tracks in MKW Hack Pack as they are. [[User:Aplumafreak500|Aplumafreak500]] ([[User talk:Aplumafreak500|talk]]) 02:39, 17 May 2016 (UTC)<br />
<br />
:: The issue in question is not whether or not tracks can be edited. The issue is that Spykid would like his tracks to be removed from Huili's pack, but he has refused to remove out. CTGP has never denied an author's request to take tracks out of the pack. <br />
--[[User:MZ|MZ]] ([[User talk:MZ|talk]]) 02:48, 17 May 2016 (UTC)<br />
<br />
== How to Use Miscellaneous Packs ==<br />
<br />
<br />
Hello!<br />
<br />
I am using Kote's "MKW Hack Pack v4 ISO/WBFS converter", found here: https://www.youtube.com/watch?v=fHVF5BwpIfA.<br />
<br />
I've run into some trouble with using miscellaneous packs. I'd very much like to create a Boost Pack ISO, but I'm not sure how to accomplish this.<br />
Any help is appreciated!<br />
<br />
--[[User:Lsh4|Lsh4]] ([[User talk:Lsh4|talk]]) 18:05, 26 December 2016 (UTC)<br />
<br />
:ISOs are not welcome here, sorry bro. -[[User:Dswii3ds|Dswii3ds]] ([[User talk:Dswii3ds|talk]]) 11:47, 29 December 2016 (UTC)<br />
<br />
::ISOs are welcome but, then again that's not an official patcher so I son't think you'll get much help here. Sorry --[[User:Wg93589|Wg93589]] ([[User talk:Wg93589|talk]]) 16:52, 29 December 2016 (UTC)<br />
<br />
== Decryption Key for the Master Collection ==<br />
<br />
I went to MKW Hack Pack's revision and found the Master Collection (not separated into four collection) on MEGA. For some reason when I go there, it tells me the decryption key is invalid although that I did not type the decryption key. What is the decryption key? [[User:Bri|Bri]] ([[User talk:Bri|talk]]) 17:23, 17 July 2017 (UTC)<br />
:If you found them via the hack pack page, you're looking at the wrong page I believe. The new music packs are on my user link page: http://wiki.tockdom.com/wiki/Template:User-Huili-Link Those links should work for you for the music collection.[[User:Huili|Huili]] ([[User talk:Huili|talk]]) 19:38, 17 July 2017 (UTC)<br />
::OK, but did you have four music collections? The first and second collections work. [[User:Bri|Bri]] ([[User talk:Bri|talk]]) 21:13, 17 July 2017 (UTC)<br />
:::I use to have that many, but they're reorganized into 2 links now because when I had 4, it was unorganized on my cloud drives. [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 22:27, 17 July 2017 (UTC)<br />
::I didn't know they were unorganized. [[User:Bri|Bri]] ([[User talk:Bri|talk]]) 22:31, 17 July 2017 (UTC)<br />
<br />
After you released MKW Hack Pack, there was CTGP Edition and extra content for it. [[User:Bri|Bri]] ([[User talk:Bri|talk]]) 20:34, 21 July 2017 (UTC)<br />
<br />
== Codes and Edits ==<br />
I have some ideas for codes but I don't have them at the moment, and I also have some codes already in [[MKW Hack Pack]] that need fixed:<br />
<br />
* The rotating bananas never did work for NTSC-J.<br />
* A code to fix data corruption.<br />
* Get item while in bullet bill (I had one, but it didn't work for PAL and NTSC-J, when someone threw a red shell forward, it would freeze their game).<br />
* A code that puts countdown on the battle region.<br />
* I've had issues with people picking random in friend rooms. Once they pick random, all their tracks are chosen randomly after that<br />
* I also liked what [[Wiimm's Mario Kart Fun]] does. Example: '''Also, the online modus was improved again: The room host can now pick the amount of races in a GP (between 1 and 10), restrict the vehicle choice (kart-only or bike-only), or make himself win all the track votes. These features can be activated using special online chat messages.''' So I had ideas like this: No funky kong in friend rooms, have a code for that if that option gets picked by the host. I'll send a bmg later.<br />
* I also like to have time trial support, but I don't know how to get that up and running. So I'd have to have a main.dol that doesn't have ghost blocking on it, and that's a problem potentially because if I add ctcode to main.dol via Wiimm's tools, it'll automatically inject ghost blocking in there, which I don't need, but I do need to expand the tracklist to more than 32 tracks, yet I don't have a code or method of doing that.<br />
* I would also like the [[CTGP]] code for picking tracks, if a track is picked, it can't be picked until 16 other tracks have been picked.<br />
* I have a code for it, but in case it doesn't work, I want a code that forces 150cc on hack pack worldwides AND friend rooms, since I can get away with that.<br />
* I looked at [[Wiimms Mario Kart Fun 2017-12]] and I like this code description: '''The track selection menu will finally remember the cup *and* track you voted for in online races, not just the cup.''' I would like to have this code if possible as well.<br />
* A code that replaces the thundercloud with another item altogether, or a code that nerfs the thundercloud like what [[Wiimms Mario Kart Fun]] does by reducing the shrink time, or as a last resort, something like what [[CTGP]] does, turn the shrink into a mega.<br />
* I need an edit or tutorial made for adding speedometer colors as well.<br />
* An auto update program that comes bundled with my pack. (optional)<br />
* Not sure if I have this, but the [http://szs.wiimm.de/info/add-section.html Integrated Gecko Code Handler]] could be nice for all this too.<br />
<br />
I would like to see these codes released on here at least. I'll figure out where to put them in [[MKW Hack Pack]]. Injecting this into main.dol would be ideal, but I'll probably need a new main.dol since I can't add anything to my current one.<br />
<br />
Thanks in advance! [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 19:09, 17 May 2018 (UTC)<br />
<br />
: Trying to respond to every point: <br />
: * Rotating bananas: What patch are you using? This one?: http://wiki.tockdom.com/wiki/Filesystem/rel/StaticR.rel#Item_behaviour_modifier If not, give me a code (I didn't found that in a quick search) and I'll try to re-port it. <br />
: * Data corruption? In what case? When driving custom GPs? That is already fixed in the newest version of CTCODE. <br />
: * Get item in bullet bill: Bean might be able to help you out with that, as far as I know, he added that to "Item Rain" as well.<br />
: * Countdown on Battle region: I am looking for that as well, but haven't been able to implement that. If you happen to find something, please tell me.<br />
: * Random in friend rooms: That code -> https://pastebin.com/DR7rdYuM -> should fix that. It may break other things though which are handled differently in MKW Fun, you'd need to test that. We never tested the unreleasted patches on their own, so that code may rely on some other code in MKW Fun. <br />
: * No Funky in friend rooms: I didn't write a code for that yet, but it would certainly be possible. Also, releasing the chat patch has been planned for a long time, but I'd need to rewrite some parts for it to work outside of MKW Fun and I didn't have time to do that yet. <br />
: * Time Trial: I have no idea, I never used it.<br />
: * CTGP code for picking tracks: You'd need to ask MrBean or Chadderz for that. I don't have that code, and as we don't need / want that feature for MKW Fun, I am not interested in spending time to develop this myself<br />
: * The patch to remember both cup and track: I currently don't remember how we implemented that. Probably by hacking the loaded ctcode in memory which would make it different to release it as an independant patch. I'll check that sometime. <br />
: * Thundercloud patching is possible and I know the offsets to that, but if I remember correctly MrBean asked me not to release those (since that can be used for cheating, making ones own cloud shock last a shorter time). You'd need to ask him personally if he would be OK with that. <br />
: * Speedometer colors: I don't know, never used that. <br />
: * Auto update program to run on the Wii itself: That would be pretty difficult. Beside the CTGP channel, such a thing does not exist yet, and it would be pretty difficult to implement. Or are you talking about a PC program that just updates files on the SD card?<br />
: * Yes, the gecko handler is needed for quite a few of these patches (since they only come in cheatcode form, not ct-code form), all you need to know about that is on the page you linked to.<br />
: -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:40, 17 May 2018 (UTC)<br />
<br />
:: I'll reply here using the same format.<br />
:: * Rotating bananas - Yes I have used that method on that page. <br />
:: * Data corruption - When people do time trials, a message will come up on their title screen, if they press OK, their save game gets deleted. It's not really corrupted, but I think this page describes it well: [https://forums.mkboards.com/index.php?threads/custom-track-grand-prix-revolution-version-1-03-0050-data-corruption-fix-guide.10300/ MKBoards]<br />
:: * '''Get item in bullet bill, Countdown on Battle Region, CTGP Track picking code, and thundercloud edit - OK I'll wait for MrBean to respond back. Because I have worldwides disabled, the TC code is a code I can definitely get away with.'''<br />
:: * Random in friend rooms - Thanks I'll use that eventually.<br />
:: * The various code patches: If it helps, I got a Menu.bmg here - [https://cdn.discordapp.com/attachments/414537961997205514/446767845473517569/Menu.bmg Download]. There is a section in there that has rules of the room. In a future update of MKW Hack Pack, I might change a lot of messages to have more customizations. I'll just need to think about them.<br />
:: * Time Trial - Just letting you know that's not a major request, I do understand that a code to make the server fully operational isn't realistic, but having something for ghosts would be nice.<br />
:: * Patch to remember track and cup - Don't worry about this one too much cuz I just figured I'd ask since I'm doing this. It would be nice to have it though.<br />
:: * Speedometer - It was a random request, and I don't know if Degeso would ever release a tutorial, I do have SwareJonge helping me with speedometers though, it might take sometime to learn how to do it though.<br />
:: * Auto update program - It would be a computer program that adds stuff to an sd card. I do have someone helping me with it but he's been inactive as of recently so I don't know if he'll be back.<br />
<br />
:: * Gecko Code Handler - Thanks for the info on that<br />
<br />
Again. thank you! [[User:Huili|Huili]] ([[User talk:Huili|talk]]) 20:33, 17 May 2018 (UTC)<br />
<br />
:: I have nothing to tell. Leseratte is the expert in these things and explained all. -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 20:26, 17 May 2018 (UTC)<br />
<br />
: Hey Huili. When we first started CTGP-R we did all the game code mods by hand in a hex editor. Eventually I released the ct-code project which essentially compiles to the same thing we built by hand. However, some things were still added to the hex edited version such as countdown and the repeat voting. Hence we don't actually have source code for them, but it should be possible to edit ct-code to generate them just like I did when I released ct-code. Since v1.03 we've stopped using that system entirely though, so our newest features and bugfixes are not compatible with it. Looking at the code I'm guessing that both Countdown and the voting are using the ct-code system, though I can see some bugfixes have been done in the v1.03 system. I can try to port the features to the github ct-code if that will actually be of use but it is relatively difficult to do so. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:39, 18 May 2018 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=LAN_Multiplayer&diff=135114LAN Multiplayer2018-05-14T09:21:33Z<p>Chadderz: Created page with "'''LAN Multiplayer''' is a mod to Mario Kart Wii developed by MrBean35000vr and Chadderz. It replaces the Nintendo Wi-Fi Connection functionality of the game with..."</p>
<hr />
<div>'''LAN Multiplayer''' is a mod to [[Mario Kart Wii]] developed by [[MrBean35000vr]] and [[Chadderz]]. It replaces the Nintendo Wi-Fi Connection functionality of the game with a local network multiplayer mode which allows multiple copies of the game on the same network to connect directly to each other without need of a server. This is intended to be useful for tournaments and other events where a number of players can gather in one place to play together.<br />
<br />
LAN multiplayer is available as a standalone modification at [http://www.chadsoft.co.uk/downloads/LAN_MKW_v0.9.zip www.chadsoft.co.uk].<br />
<br />
{{User-MrBean35000vr-Link}}<br />
{{User-Chadderz-Link}}</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Item_Rain&diff=135111Item Rain2018-05-14T09:01:38Z<p>Chadderz: Created page with "{{youtube-box|float-right|H2PiiX_9UQk|Example of GCT Item Rain gameplay}}'''Item Rain''' is a custom game mode created by MrBean35000vr and Chadderz. In this mode item..."</p>
<hr />
<div>{{youtube-box|float-right|H2PiiX_9UQk|Example of GCT Item Rain gameplay}}'''Item Rain''' is a custom game mode created by [[MrBean35000vr]] and [[Chadderz]]. In this mode items fall randomly from the sky to disrupt the players during a race or battle.<br />
<br />
== Specification ==<br />
<br />
During Item Rain, one item will fall every 2 physics frames (thus 30 times per second) near one of the players in a round robin fashion. The amount of items any given player will see therefore depends on how many players there are in the room and also how close they are to other players.<br />
<br />
{| class="wikitable sortable"<br />
|+ Item Density<br />
! Number of Players !! Items near each player<br />
|-<br />
| 1 || 30 per second<br />
|-<br />
| 2 || 15 per second<br />
|-<br />
| 3 || 10 per second<br />
|-<br />
| 4 || 7.5 per second<br />
|-<br />
| 5 || 6 per second<br />
|-<br />
| 6 || 5 per second<br />
|-<br />
| 7 || 4.3 per second<br />
|-<br />
| 8 || 3.8 per second<br />
|-<br />
| 9 || 3.3 per second<br />
|-<br />
| 10 || 3 per second<br />
|-<br />
| 11 || 2.7 per second<br />
|-<br />
| 12 || 2.5 per second<br />
|}<br />
<br />
The items are spawned 3000 game units higher than the player and over a range of plus or minus 16384 game units from the player's location. The items then fall naturally towards the ground.<br />
<br />
{| class="wikitable sortable"<br />
|+ Item Probabilities<br />
! Item !! CTGP-R !! CTGP-R all items can land !! GCT<br />
|-<br />
| Green Shell || 19.53125% || 18.75% || 18.75%<br />
|-<br />
| Red Shell || 19.53125% || 18.75% || 18.75%<br />
|-<br />
| Banana || 19.53125% || 18.75% || 18.75%<br />
|-<br />
| Mushroom || 4.6875% || 4.6875% || 9.375%<br />
|-<br />
| Star || 1.5625% || 1.5625% || 9.375%<br />
|-<br />
| Blue Shell || {{no|0%}} || 3.125% || {{no|0%}}<br />
|-<br />
| Lightning || {{no|0%}} || 1.5625% || {{no|0%}}<br />
|-<br />
| Fake Item Box || 19.53125% || 10.9375% || 12.5%<br />
|-<br />
| Mega Mushroom || {{no|0%}} || 10.9375% || {{no|0%}}<br />
|-<br />
| Bob-omb || 15.625% || 10.9375% || 12.5%<br />
|-<br />
| Blooper || {{no|0%}} || 1.5625% || {{no|0%}}<br />
|-<br />
| POW Block || {{no|0%}} || 1.5625% || {{no|0%}}<br />
|-<br />
| Golden Mushroom || {{no|0%}} || 1.5625% || {{no|0%}}<br />
|-<br />
| Bullet Bill || {{no|0%}} || 1.5625% || {{no|0%}}<br />
|-<br />
| Cloud || {{no|0%}} || {{no|0%}} || {{no|0%}}<br />
|}<br />
<br />
== GCT Code ==<br />
<br />
A [[Cheat Code|GCT]] version of the code is available at [https://pastebin.com/0j3eUhDA pastebin.com].<br />
<br />
{{User-MrBean35000vr-Link}}<br />
{{User-Chadderz-Link}}<br />
[[Category:Game Mode]]<br />
[[Category:Cheat Codes]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=High_Data_Rate&diff=135110High Data Rate2018-05-14T08:56:16Z<p>Chadderz: Add author links</p>
<hr />
<div>'''High Data Rate''' is a small modification to networking in [[Mario Kart Wii]]<br />
made by [[MrBean35000vr]] and [[Chadderz]]. It causes<br />
[[MKWii_Network_Protocol#Main_records_.28.22RACE.22_records.29|RACE]] data<br />
packets to be sent by the console much more often. The notable side effect of<br />
this is a reduction in perceived 'lag' online. For example, red shell items will<br />
hit their targets a lot faster and more smoothly from the user's perspective.<br />
<br />
== Behaviour ==<br />
<br />
The modification occurs in a method inside [[StaticR.rel]] (address<br />
RMCE:806539A8/RMCJ:8065749C/RMCP:80657E30) responsible for sending the<br />
[[MKWii_Network_Protocol#Main_records_.28.22RACE.22_records.29|RACE]] packets.<br />
Normally, the game forms a RACE packet every frame, then calls the method once<br />
per frame. The method first checks that at least 17ms have passed since the last<br />
time it ran. If so it starts looking through the list of peers that it is<br />
connected to and tries to send the RACE packet to a peer. If it succeeds it<br />
stops, otherwise it keeps looking for peers to send to until it has tried them<br />
all.<br />
<br />
High Data Rate changes the behaviour. First of all, it reduces the check to<br />
ensure at least 7ms have passed. The reasoning is that 17ms is possibly a<br />
mistake, as the method is in fact called once per visual frame, which will<br />
typically be once every 16.7ms. Therefore, the method may skip sending a packet<br />
on a given frame simply because less than 17ms have passed, even though the<br />
player has moved. Secondly, High Data Rate causes the method to keep looking for<br />
players to send messages to, even if it finds one. This means the method will<br />
send a message to every peer, rather than just one.<br />
<br />
The result of these changes is that in a 12 player room, the game goes from<br />
sending one RACE packet to any given peer every 22 frames on average to sending<br />
every frame. That means a reduction in latency of up to 360ms.<br />
<br />
== Effects ==<br />
<br />
From a player's perspective the effects of High Data Rate are:<br />
<br />
* Red Shells lock faster and hit more quickly.<br />
* Thunder Clouds pass accurately and quickly.<br />
* Dropped items appear more accurately without delay.<br />
* Bumping into other drivers is more accurate.<br />
* Thrown items seem to hit more accurate.<br />
* Position trackers are better synchronised.<br />
<br />
=== Asymmetric connections ===<br />
<br />
If one player has High Data Rate and connects to another player who does not, the game will still function correctly. The High Data Rate player will still send more data to the normal player, but the normal player will use the standard data rate. Consequently, the normal player will feel some of the benefits above and so will the High Data Rate player. For example, the High Data Rate player will find it easier to hit the normal player with Red Shells or Thunder Clouds, but the normal player will find it easier to bump or throw items at the High Data Rate player.<br />
<br />
=== Insufficient Connections ===<br />
<br />
If one player's Internet connection does not meet the Bandwidth requirements of High Data Rate, that player can start 'teleporting' and can end up appearing worse that if they did not have High Data Rate. They may also experience no trouble, so failing to meet the requirements is not a guarantee that there will be problems.<br />
<br />
== Latency and Bandwidth ==<br />
<br />
For comparison the following table shows information about how the data rates<br />
will differ between clients with the modification and clients without it. The Latency column shows the amount of time between a player action (such as firing an item) and a RACE packet being sent to all players about it. The Bandwidth column shows the amount of bandwidth used in both the upstream and downstream directions. All of the values in this table are shown as ranges and were derived analytically rather than measured.<br />
<br />
{| class="wikitable"<br />
|+ High Data Rate comparison<br />
!rowspan=2| Wiis !!colspan=2| Latency !!colspan=2| Bandwidth<br />
|-<br />
! Original !! New !! Original !! New<br />
|-<br />
| 2 || 17-33ms || 7-33ms || 0.04-0.25mbps || 0.04-0.25mbps<br />
|-<br />
| 4 || 51-100ms || 7-33ms || 0.04-0.25mbps || 0.13-0.74mbps<br />
|-<br />
| 6 || 85-167ms || 7-33ms || 0.04-0.25mbps || 0.22-1.23mbps<br />
|-<br />
| 8 || 119-233ms || 7-33ms || 0.04-0.25mbps || 0.31-1.72mbps<br />
|-<br />
| 10 || 153-300ms || 7-33ms || 0.04-0.25mbps || 0.40-2.21mbps<br />
|-<br />
| 12 || 187-367ms || 7-33ms || 0.04-0.25mbps || 0.49-2.70mbps<br />
|}<br />
<br />
Please note that the Latency column only covers the game's internal latency. There will still be network latency to transfer the packet to the peer before it arrives. So for example, a good connection between the UK and France has approximately 10ms of Internet latency. A connection from the EU to USA will have approximately 100ms of Internet latency. A connection from the USA to Japan will have approximately 150ms of Internet latency. A connection from the EU to Australia will have approximately 250ms of Internet latency. All of these values should be added to the internal latency to compute the delay between a game action (such as turning or firing an item) and the other player seeing the action.<br />
<br />
== GCT Code ==<br />
A [[Cheat Code|GCT]] version of the modification is as follows:<br />
<br />
<spoiler text="High Data Rate, NTSC-J">Please note that public rooms are<br />
disabled by this code.<pre><br />
High Data Rate NTSC-J [MrBean35000vr and Chadderz]<br />
<br />
04657514 28040007<br />
046575C8 3B400000<br />
0089935C 00000078<br />
00899365 00000078<br />
0089936B 00000078<br />
00899374 00000078<br />
008993DF 00000078<br />
008993E8 00000078<br />
008993EE 00000078<br />
008993F7 00000078<br />
</pre></spoiler><br />
<spoiler text="High Data Rate, NTSC-U">Please note that public rooms are<br />
disabled by this code.<pre><br />
High Data Rate NTSC-U [MrBean35000vr and Chadderz]<br />
<br />
04653A20 28040007<br />
04653AD4 3B400000<br />
00895B2C 00000078<br />
00895B35 00000078<br />
00895B3D 00000078<br />
00895B46 00000078<br />
00895BAF 00000078<br />
00895BB8 00000078<br />
00895BC0 00000078<br />
00895BC9 00000078<br />
</pre></spoiler><br />
<spoiler text="High Data Rate, PAL">Please note that public rooms are disabled<br />
by this code.<pre><br />
High Data Rate PAL [MrBean35000vr and Chadderz]<br />
<br />
04657EA8 28040007<br />
04657F5C 3B400000<br />
0089A1FC 00000078<br />
0089A205 00000078<br />
0089A20B 00000078<br />
0089A214 00000078<br />
0089A27F 00000078<br />
0089A288 00000078<br />
0089A28E 00000078<br />
0089A297 00000078<br />
</pre></spoiler><br />
<br />
{{User-MrBean35000vr-Link}}<br />
{{User-Chadderz-Link}}<br />
[[Category:Cheat Codes]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=CTGP_Revolution/Translation&diff=135109CTGP Revolution/Translation2018-05-14T08:16:18Z<p>Chadderz: Add LAN</p>
<hr />
<div>{{CTGP Revolution/Translation}}<br />
<br />
== Introduction ==<br />
<br />
In order to create a better and more professional game experience for players from all languages, [[MrBean35000vr]] and [[Chadderz]] request that people who are fluent in foreign languages help out by translating the game text that we have modified.<br />
<br />
Thanks for helping!<br />
<br />
== Language Wishlist ==<br />
<br />
We are adding in languages new to the game. This will require someone or several people to translate ALL of the game text. If you're interested please add an entry to the table below.<br />
<br />
The translations are happening [[CTGP Revolution/Translation/Full|here]].<br />
<br />
{{textbox|red center|Note|Only add languages that are '''not''' present in the original Mario Kart Wii}}<br />
<br />
{| class="wikitable"<br />
! Language !! Translated by !! Status<br />
|-<br />
| Dutch || [[User:KHacker35000vr|kHacker35000vr]], [[User:Itsame934|itsame934]] || {{yes|Translation Complete}}<br />
|-<br />
| Portuguese || [[User:Witch|Witch]] || {{yes|Translation Complete (PAL)}}<br />
|-<br />
| Portuguese (Brazil) || [[User:AnEoTselkie|anEoTselkie]], [[RoGamer]], [[User:DarkShadow_BR|DarkShadow_BR]] || {{yes|Translation Complete (NTSC)}}<br />
|-<br />
| Russian || [[User:CyberMan|CyberMan]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Greek || [[User:MrSkopelos27|MrSkopelos27]], [[User:Sarantis|Sarantis]] || {{yes|Translation Complete}}<br />
|-<br />
| Polish || [[User:Szymbar15|Szymbar15]], [[User:Piotrek1113|Piotrek1113]] || {{yes|Translation Complete}}<br />
|-<br />
| Finnish || [[User:Gskartwii|Gskartwii]] || {{yes|Translation Complete}}<br />
|-<br />
| Swedish || [[User:Mahmoud15|Mahmoud15]], [[User:Markus15|Markus15]], [[User:Samatar15|Samatar15]], [[User:Sup3rsmash8|sup3rsmash8]], [[User:Magnusbon|Magnusbon]], [[User:Darkie|Darkie]], [[Wexos]] || {{yes|Translation Complete}}<br />
|-<br />
| Korean || [[User:Aiden|Aiden]], [[User:DDinghoya|DDinghoya]], [[User:Gree|Gree]] || {{yes|Translation Complete}}<br />
|-<br />
| Czech || [[User:Lukinoz|Lukinoz]], [[User:JaGoTu|JaGoTu]], [[User:Matojeje|Matojeje]], [[User:Řřřřřřřřř|Řřřřřřřřř]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Albanian || [[User:TropicalDrop99|TropicalDrop99]] || {{no|Cancelled}}<br />
|-<br />
| Danish || [[User:J0nas1|J0nas1]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Catalan || [[User:ThePlacidTiger|ThePlacidTiger]] || {{maybe|Translation in Progress}}<br />
|-<br />
| Hungarian || [[User:Smileyhead|Smileyhead]] || {{no|Cancelled due to data loss}}<br />
|}<br />
<br />
== Translations ==<br />
<br />
{{textbox|red center|Note|Where it matters, translations are permitted to have NTSC-U and PAL variants.<br />For example: (NTSC) Aprieta A para continuar. (PAL) Pulsa el botón A para continuar.}}<br />
<br />
=== Splash Screen ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| Welcome to '''Mario Kart CTGP Revolution''' || Welkom bij '''Mario Kart CTGP Revolution''' || Bienvenue dans '''Mario Kart CTGP Revolution''' || Willkommen zu '''Mario Kart CTGP Revolution''' || Benvenuto su '''Mario Kart Wii CTGP Revolution''' || ようこそ、マリオカートWii[カスタムコースグランプリ]へ! || '''마리오 카트 CTGP Revolution''' 에 오신것을 환영합니다! || Bem-vindo ao '''Mario Kart CTGP Revolution''' || Добро пожаловать в '''Mario Kart CTGP Revolution''' || Bienvenido a '''Mario Kart Wii CTGP Revolution'''<br />
| Καλώς ορίσατε στο '''Mario Kart CTGP Revolution''' || Witamy w '''Mario Kart CTGP Revolution''' || Tervetuloa '''Mario Kart Wii CTGP-Revolution'''iin || Välkommen till '''Mario Kart CTGP Revolution''' || Vítejte v '''Mario Kart CTGP Revolution''' || Mirë se erdhe te '''Mario Kart CTGP Revolution''' || Velkommen til '''Mario Kart CTGP Revolution''' || Benvingut a '''Mario Kart CTGP Revolution''' || Üdv a '''Mario Kart CTGP Revolution'''-ban!<br />
|-<br />
| Version 1.02.0000 || Versie 1.02.0000 || Version 1.02.0000 || Version 1.02.0000 || Versione 1.02.0000 || バージョン1.02.0000 || 버전 1.02.0000 || Versão 1.02.0000 || Версия 1.02.0000 || Versión 1.02.0000<br />
| Έκδοση 1.02.0000 || Wersja 1.02.0000 || Versio 1.02.0000 || Version 1.02.0000 || Verze 1.02.0000 || Version 1.02.0000 || Version 1.02.0000 || Versió 1.02.0000 || Verzió 1.02.0000<br />
|-<br />
| I'm done tinkering with your game now; it should load Custom Tracks. || Ik ben klaar met het prutsen aan de game; nu zou het zelfgemaakte banen moeten laden. || J'ai fini de bricoler votre jeu; il devrait désormais pouvoir charger les Custom Tracks. || Ich bin fertig mit deinem Spiel, es sollte jetzt Custom Tracks laden. || Ho finito di modificare il gioco; ora dovrebbe caricare le Custom Track. || ゲームのデータ編集が完了しました。 || 게임을 손보는것은 끝났습니다. 이제 커스텀 트랙을 로딩 할 수 있습니다. || (NTSC) Terminei de modificar seu jogo; agora deve carregar as Custom Tracks.<br />(PAL) Já acabei de modificar o teu jogo; agora deve carregar as Custom Tracks || Я закончил работать с твой игрой, теперь она может запускать пользовательские трассы. || (NTSC) Terminé de modificar tu juego; ahora las Custom Tracks deberán cargarse.<br />(PAL) He acabado de modificar tu juego; ahora los Custom Tracks deberían cargarse.<br />
| Τελείωσα να χαρχαλεύω με το παιχνίδι σας, θα πρέπει τώρα να φορτώσουν τα Custom Tracks. || Już skończyłem pracować nad twoją grą, powinna ładować Własne Trasy. || Olen nyt näperrellyt pelisi kanssa; sen pitäisi ladata CT:t. || Jag har mixtrat klart med ditt spel; det borde ladda Custom Tracks. || Pozměnil jsem Vaši hru, už by měla načítat upravené tratě. || Jam i përfunduar me lojën tënde, Custom Trackat duhen të punojnë. || Jeg er færdig med at rode med dit spil nu, det burde indlæse Custom Tracks. || He acabat de modificar el teu joc; els Custom Tracks haurien de carregar-se. || Befejeztem a játék módosítását; elvileg már be tudja tölteni a Nemhivatalos Pályákat.<br />
|-<br />
| A few things to be aware of: || Er zijn een paar punten waar rekening mee moet worden gehouden: || Quelques choses à savoir avant tout : || Ein paar Dinge, die dir bewusst sein sollten: || Alcune cose che dovresti sapere: || 注意事項: || 사용 전 몇 가지 아셔야 할 것: || (NTSC) Algumas coisas que deve saber:<br />(PAL) Algumas coisas a ter em conta: || Несколько вещей, что бы быть в курсе: || (NTSC) Algunas cosas que debes saber:<br />(PAL) Algunas cosas que deberías saber:<br />
| Μερικά πράγματα που πρέπει να προσέξετε: || Kilka rzeczy, których powinieneś być świadom: || Hieman juttuja, joita kannattaa välttää: || Några saker du borde vara medveten om. || Pár věcí, které byste měli vědět: || Disa gjëra që duhet te dish: || Nogle få ting du skal være opmærksom på: || Algunes coses a tenir en compte: || Ezeket jobb, ha tudod:<br />
|-<br />
| Ghosts will '''not''' save '''at all''' (even on original tracks) and personal leaderboards will not be updated either. || Ghosts worden „“niet““ opgeslagen (zelfs niet op de orginele banen) en persoonlijke ranglijsten worden niet bijgewerkt. || '''Aucun fantôme''' ne sera sauvegardé (y compris sur circuits Nintendo), et de même '''aucun record de temps''' ne sera émis ou mis à jour. || Geistdaten werden weder gespeichert, noch zur persönlichen Rangliste hinzugefügt. Das gilt auch für die Originalstrecken. || I fantasmi delle Prove a Tempo non verranno salvati in nessun caso (neanche sulle piste originali) e le classifiche non saranno aggiornate. || タイムアタックでカスタムトラックのゴースト・記録は保存されません。 || 고스트는 '''아예''' 저장되지 않습니다. (오리지널 트랙 32개도 마찬가지입니다) 또한 기록 순위, 베스트 랩까지 업데이트 되지 않습니다. || (NTSC) Os fantasmas '''não''' serão salvos (mesmo em pistas originais) e as tabelas de classificação também não serão atualizadas.<br />(PAL) Os fantasmas '''não''' serão guardados '''de todo''' (mesmo nas pistas originais) e as tabelas classificativas também não serão actualizadas. || Призраки '''не''' сохраняются '''вовсе''' (даже на оригинальных треках) и перональная таблица рекордов так же не будет обновлена. || (NTSC) Los fantasmas '''no''' podrán ser guardados (ni en las pistas originales) y las tablas de clasificación personales tampoco serán actualizadas.<br />(PAL) Los fantasmas '''no''' se guardarán (ni en los circuitos originales) y las tablas de clasificación personales tampoco serán actualizadas.<br />
| Φαντάσματα '''δεν''' αποθηκεύονται '''καθόλου''' (ούτε σε αυθεντικές πίστες) και ούτε προσωπικά κατατάξεις ανανεώνονται. || Duchy '''nie będą''' się '''wcale''' zapisywać. (Nawet na oryginalnych trasach), a twoje wyniki nie będą się aktualizować. || Haamut '''eivät''' tallennu '''ollenkaan''' (eivät edes alkuperäisillä radoilla), eikä persoonallisia tulostaulukoitakaan päivitetä. || Spöken kommer '''inte''' '''alls att''' sparas (även på originella banor) och personliga topplistor kommer inte heller uppdateras. || Duchové se '''nebudou''' ukládat (dokonce ani na originálních tratích) a osobní žebříčky se nebudou aktualizovat. || Të dhënat të fantazmave '''nuk''' kanë as me u ruajtur as me u shtuar ne renditjen personale. Kjo vlen gjithashtu per pista origjinale. || Ghosts vil '''ikke''' blive gemt '''overhovedet''' (heller ikke på originale baner) og personlige pointtavler vil heller ikke blive opdaterede. || Els fantasmes '''no''' es salvaran '''en absolut''' (fins i tot en pistes originals) i les taules de classificació personals no s'actualitzaran tampoc. || A szellemek '''egyáltalán nem''' fognak elmentődni (hivatalos pályákon sem), és a ranglistáid sem lesznek feltöltve.<br />
|-<br />
| You may go to Worldwide mode and Custom Tracks Worldwide mode; both function correctly. Please do not use glitches on Custom Tracks! || Je kan zowel wereldwijd als in de online mode voor zelfgemaakte banen meespelen; beiden hebben geen problemen. || Vous pouvez accéder aux modes en ligne 'Mondial' et 'Custom Tracks Mondial', sans problème. Veuillez ne PAS abuser des 'glitchs' pour tricher sur les Custom Tracks! || Du kannst am globalen Versus-Rennen und am globalen Custom Tracks-Rennen teilnehmen; beide funktionieren ohne Probleme. Bitte benutze keine Glitches auf Custom Tracks! || Puoi giocare online usando le funzioni Mondiale e Custom Track Mondiale; entrambe funzionano correttamente. Per favore, non usare glitch sulle Custom Tracks! || 世界、カスタムトラックの世界はどちらもえらぶことができますが、カスタムトラックの世界ではバグショートカットは使用しないでください。 || 세계의 누군가 모드와 CT세계의 누군가 모드를 플레이 하실 수 있습니다. 둘다 정상작동합니다. 글리치는 사용하지 마시기 바랍니다. || (NTSC) Você pode jogar no modo Mundial e no Custom Tracks Mundial; ambos funcionam corretamente. Por favor não use glitches nas Custom Tracks!<br />(PAL) Podes jogar no modo Mundial e no modo Custom Tracks Mundial; ambos funcionam correctamente. Por favor não uses glitches nas Custom Tracks! || Вы можете играть как вов Всемирном режиме, так и во Всемирном режиме с пользовательскими треками, оба режима работают правильно. Пожалуйста, не используйте глюки на пользовательских треках! || (NTSC) Puedes jugar en los modos Mundial y Custom Tracks Mundial; ambos funcionan correctamente. Por favor, ¡no uses glitches en Custom Tracks!<br />(PAL) Puedes jugar en los modos Mundial y Custom Tracks Mundial; ambos funcionan correctamente. Por favor, ¡no uses glitches en las Custom Tracks!<br />
| Μπορείτε να πάτε στην επιλογή Παγκοσμίως και στην επιλογή Custom Tracks Παγκοσμίως, και οι δύο λειτουργούν σωστά. Παρακαλώ μην χρησιμοποιείτε δυσλειτουργίες σε Custom Tracks. || Możesz zagrać na Własnych Trasach przez internet, lecz możesz grać także na oryginalnych trasach; obie opcje działają poprawnie. Proszę, nie używaj glitchów na Własnych Trasach! || Voi mennä maailmanlaajuiseen tai CT-maailmanlaajuiseen; kummatkin toimivat oikein. Ethän käytä glitchejä pelatessasi CT:itä! || Du kan spela i globalt läge och i Custom Track Globalt läge; båda fungerar korrekt. Var snäll använd inte buggar i Custom Tracks! || Můžete si vybrat mezi celosvětovým režimem buď s původními tratěmi nebo s upravenými tratěmi; oba fungují bezchybně. Prosím, nevyužívejte chyb nebo nechtěných zkratek v upravených tratích! || Ti mund te shkosh te menyra botëror dhe menyra botëror për Custom Tracka; te dyt funktionojnë. Te lutem, mos i përdor glitchat e Custom Trackave! || Du kan gå i Worldwide mode og Custom Tracks Worldwide mode, begge fungerer correct. Lad venligst være med at udnytte glitches på Custom Tracks! || Podrás utilitzar els modes Mundial i Custom Tracks Mundial; els dos funcionen correctament. || Online Hivatalos, és Nemhivatalos pályákkal is tudsz játszani; mindkettő tökéletesen működik. Kérlek, ne használd ki a Nemhivatalos pályák hibáit.<br />
|-<br />
| Note: Use of the Custom Tracks Worldwide mode could result in a ban from online play. || Het gebruik van de tweede optie kan resulteren in een ban voor het online spelen. || Note : l'usage prolongé du mode 'Custom Tracks Mondial' pourrait vous faire bannir des serveurs de jeu CWF Nintendo. || Achtung: Du könntest durch das Spielen von Custom Tracks-Global gebannt werden! || NB: L'uso della funzione Custom Track Mondiale può causare il ban dal gioco online. || 注意:カスタムトラックを使って世界のだれとでもをプレイするとBANをされる可能性があります。 || 주의: 커스텀 트랙을 오fl지널 게임 서버에서 플레이 하신다면 서버로부터 정지을 당하셔서 더이상 온라인 플레이를 못 하실 수도 있습니다. || (NTSC) Nota: O uso do modo Custom Tracks Mundial pode resultar em ser banido de jogar online.<br />(PAL) Nota: O uso do modo Custom Tracks Mundial pode resultar em seres banido de jogar online || Заметка: использование пользовательских трасс в онлайне может привести к бану вашей консоли в онлайн-играх.|| (NTSC) Nota: El uso del modo Custom Tracks Mundial podría causar que seas vetado del juego en línea.<br />(PAL) Nota: El uso del modo Custom Tracks Mundial puede resultar en un baneo del juego en línea (online).<br />
| Σημείωση: Η χρήση της επιλογής Custom Tracks Παγκοσμίως μπορεί ενδεχομένως να καταλήξει σε απαγόρευση χρήσης του Nintendo WFC. || Uwaga: używanie Własnych Tras przez internet może skutkować zablokowaniem z gry przez internet. || Huomaa: CT-maailmanlaajuisen pelaaminen saattaa aiheutta porttikiellon nettipeleihin! || Notering: användnig av Custom Track Globalt läget kan resultera i ett förbud från online-spel. || Poznámka: Používání upravených tratí v originálním Celosvětovém režimu může mít za následek ban ze závodění online. || Vëreje: Përdorimi e menyres botëror për Custom Tracka mund të rezultojë në një përjashtim nga lojë online. || Bemærk: Hvis du bruger Custom Tracks Worldwide mode, kan du risikere axt blive bandlyst fra online spil. || Nota: l'ús Custom Tracks Mundial pot resultar en una prohibició de jugar per l'internet. || Még valami: A Nemhivatalos pályák onlone való használata kitiltást eredményezhet.<br />
|-<br />
| Avoid finishing offline Grand Prixs on Custom Cups. It may corrupt save data. || Voorkom het voltooien van de offline Grand Prix in de toegevoegde bekers. Het kan de opgeslagen gegevens beschadigen. || Ne terminez pas de Grand Prix en solo sur une coupe de Custom Tracks. Cela peut corrompre vos données de sauvegarde. || Bitte keinen Offline-„Grand Prix“ durchspielen, weil dein Spielstand sonst beschädigt werden könnte. || Evita di finire Gran Premi offline con i Trofei Modificati. Potrebbero corrompere il salvataggio. || オフラインのグランプリでカスタムトラックを使用しないでください。データが破損する恐れがあります。 || 오프라인에서 커스텀 컵 그랑프리를 완주하지 마십시오. 데이터 손상의 원인입니다. || (NTSC) Evite terminar os Grandes Prêmios offline nas Copas Personalizadas. Isto pode corromper os arquivos salvos.<br />(PAL) Evita terminares os Grandes Prémios offline nas Taças Modificadas. Pode corromper os dados guardados. || Уникайте завершения оффлайн-гранпри в пользовательских кубках, это может привести к повреждению вашего сохранения. || (NTSC) Evita terminar una Copa de Custom Tracks en modo Grand Prix. Podría dañar los archivos guardados.<br />(PAL) Evita terminar los Grand Prix en Copas Custom. Podría estropear los datos de guardado.<br />
| Αποφεύγετε να τελειώνετε οφλάιν Γκραν Πρι σε Custom Κύπελλα. Μπορεί να διαφθείρει αποθηκευμένα δεδομένα. || Nie używaj trybu „Grand Prix” grając jako jedna osoba. Może zniszczyć twój zapis. || Vältä offline-GP:n loppua. Se saattaa korruptoida tallennustiedoston. || Undvik att avsluta offline Grand Prixs på Custom Cupper. Det kan förstöra sparad data. || Vyvarujte se dokončení offline Grand Prixu v upravených pohárech. Může to poškodit uložená data. || Shmange perfundimin e Grand Prixut offline me kampione custome. Ajo mund të dëmtojë të dhënat të ruajtur. || Undgå at færdiggøre offline Grand Prix'er på Custom Cups. Det kan ødelægge gemte data. || Evitar acabar Grand Prixs en Copas Custom. Podria corrompre les dades guardades. || Ha befejezel egy Nemhivatalos kupát offline, a mentésed megsérülhet.<br />
|-<br />
| It is recommended to enable the Save to SD card option in Riivolution to avoid corrupting normal Mario Kart save data. || Het is aanbevolen om de “Save to SD card” optie in Riivolution op “Enabled” te zetten, om te voorkomen dat de normale save wordt beschadigd. || Il est plus sûr d'activer l'option "Save to SD card?" dans Riivolution, afin d'éviter de pouvoir corrompre vos données Mario Kart stockées en local sur la Wii. || Es ist zu empfehlen, die Option „Save to SD card“ auf „Enabled“ zu stellen, damit keine Schäden verursacht werden. || Si consiglia di abilitare l'opzione “Save to SD card” di Riivolution per evitare che il salvataggio originale di Mario Kart si corrompa. || マリオカートWiiのセーブデータの破損をふせぐために、 Riivolutionのオプションでセーブデータの保存をゆうこうにすることをおすすめします。 || 오리지널 마리오 카트 저장 데이터 손상을 피하기 위해 Riivolution의 SD 카드 저장 옵션을 사용하는 것을 추천합니다. || (NTSC) É recomendado ativar a opção “Save to SD Card” (salvar no cartão SD) no Riivolution para evitar corromper os dados salvos do Mario Kart Wii normal.<br />(PAL) Recomenda-se que a opção “Save to SD Card” (guardar no cartão SD) esteja activada no Riivolution, para evitar corromper os dados guardados do Mario Kart normal. || Рекомендуется включить сохранения на SD-карту в опциях Riivolution для того, что бы не повредить ваши сохранения от оригинальной Mario Kart Wii|| (NTSC) Es recomendable poner en “Enable” la opción “Save to SD Card” (guardar en la tarjeta SD) para activarla en Riivolution y evitar que los datos normales de Mario Kart se corrompan.<br />(PAL)Es recomendable activar (cambiar a “Enabled”) la opción Guardar en la tarjeta SD (“Save to SD Card”) en Riivolution para evitar que los datos normales de Mario Kart se estropeen.<br />
| Συνιστάται η επιλογή «Αποθήκευση στην Κάρτα SD»(Save to SD card) να είναι ενεργοποιημένη για να αποφύγετε την διαφθορά κανονικά αποθηκευμένων δεδομένων Mario Kart. || Jeśli korzystasz z Riivolution, włącz opcję „Save to SD card”, by uniknąć zniszczenia zapisu. || Olisi suositeltavaa ottaa käyttöön SD-kortille tallennusasetus Riivolutionissa välttääkseen normaalin tallennustiedoston korruptoitumista. || Det är rekomenderat att aktivera spara till SD kort (save to SD card) alternativet i Riivolution för att undvika att förstöra normala Mario Karts sparade data. || Doporučujeme zapnout v Riivolution možnost "Save to SD card" (Ukládat na SD kartu), aby nedošlo k poškození uložených dat normální verze hry Mario Kart. || Është e rekomanduar për të mundësuar opsionin "Save to SD card" në Riivolution për të shmangur korruptimin të dhënat të ruajtur nga Mario Kart normale. || Det er anbefalet at slå "Save to SD card" funktionen til i Riivolution, for at undgå at ødelægge de gemte data for det normale Mario Kart. || Es recomanable que activis l'upció "Guardar a tarja SD" en Riivolution per evitar la corrupció de les dades guardades en Mario Kart normal. || Azt javaslom, hogy engedélyezd az SD Kártyára való mentést a Riivolutionben, hogy ne sérüljön meg a konzolon lévő Mario Kart mentésed.<br />
|-<br />
| Press A to continue. || Druk op A om door te gaan. || Appuyez sur A pour continuer. || Drücke A um fortzufahren. || Premi A per continuare. || 続けるにはAボタンを押してください。 || 계속하려면 A 버튼을 누르세요. || (NTSC) Pressione A para continuar.<br />(PAL) Carrega no botão A para continuar. || Для продолжения нажмите А || (NTSC) Aprieta A para continuar.<br />(PAL) Pulsa el botón A para continuar.<br />
| Πατήστε A για να συνεχίσετε || Kliknij “A” aby kontynuować. || Paina A jatkaaksesi || Tryck A för att fortsätta. || Stiskněte A pro pokračování. || Shtype A për të vazhduar. || Tryk A for at fortsætte. || Prem el botó "A" per continuar. || Nyomj A-t a folytatáshoz.<br />
|}<br />
<br />
=== Error Splash Screen ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| CTGPR Load Error || Fout bij het laden || Erreur de chargement CTGP-R || Fehler beim Laden || Errore di caricamento || CTGPR ロードエラー || CTGPR 로드 에러 || Erro ao carregar CTGPR || {{no|-}} || Error al cargar CTGPR.<br />
| Πρόβλημα στην φόρτωση CTGPR || Błąd wczytywania CTGPR || CTGP-R-latausvirhe || CTGPR Laddningsfel || Chyba při načítání CTGPR || {{no|-}} || CTGPR Indlæsnings Fejl || Error en carregar CTGPR || Hiba a CTGP-R Betöltésekor<br />
|-<br />
| Unfortunately, the CTGPR pack could not be loaded correctly. || Helaas kon de CTGPR niet correct worden geladen. || Hélas, le pack CTGPR n‘a pas pu être chargé correctement. || Leider konnte das CTGPR-Pack nicht geladen werden. || Sfortunatamente, CTGPR non può essere caricato correttamente. || CTGPRのロードに失敗しました。 || 슬프게도, CTGPR 팩을 제대로 로드할 수 없습니다. || (NTSC) Infelizmente, o pack CTGP não foi carregado corretamente.<br />(PAL) Infelizmente, o pack CTGPR não foi carregado devidamente. || {{no|-}} || Desafortunadamente, el pack CTGPR no se cargó correctamente.<br />
| Δυστυχώς, το πακέτο CTGPR δεν μπόρεσε να φορτώσει σωστά. || Niestety, paczka CTGPR nie mogła zostać wczytana poprawnie. || Valitettavasti CTGP-R-pakettia ei voitu ladata oikein. || Tyvärr, CTGPR-paketet kunde inte laddas korrekt. || Bohužel, balíček CTGPR se nepodařilo správně načíst. || {{no|-}} || Desværre kunne CTGPR pakken ikke blive indlæst correct. || Desafortunadament, el paquet de CTGPR no s'ha pogut carregar correctament. || A CTGP-R csomagot nem sikerült betölteni.<br />
|-<br />
| There are many reasons why this error can occur. You should check online for information about how to fix it. || Er zijn vele redenen hiervoor. Je kan online informatie opzoeken om het op te lossen. || Il existe diverses raisons possibles pour cette erreur. Allez chercher en ligne des informations à ce sujet pour une éventuelle solution. || Es gibt viele Gründe, warum dieser Fehler aufgetreten sein könnte. Du solltest online nach Informationen suchen, wie man diesen Fehler beheben kann. || Ci sono molti motivi per cui questo errore può capitare. Dovresti cercare informazioni online per risolverlo. || ロード失敗の原因はいくつかありまます。修正する方法については、オンラインで確認をしてください。 || 이 에러가 발생하는 데에는 많은 이유가 있습니다. 해결 방법에 대한 자세한 내용은 온라인으로 확인해 주십시오. || (NTSC) Há muitas razões que podem ter causado este erro. Você deve procurar buscar informação na internet sobre como solucionar.<br />(PAL) Há vários motivos que podem ter causado este erro. Deves procurar na Internet informação sobre como solucioná-lo. || {{no|-}} || Hay muchos motivos por los que este error puede ocurrir. Deberías buscar información en internet sobre cómo solucionarlo.<br />
| Υπάρχουν πολλοί λόγοι γιατί αυτό το πρόβλημα μπορεί να συνέβει. Θα πρέπει να κοιτάξετε πληροφορίες το διαδίκτυο για να το επισκευάσετε. || Jest wiele powodów, dla których ten błąd mógł się pojawić. Sprawdź informacje na temat twojego błędu w internecie. || On monia syitä, miksi tämä virhe tapahtuu. Sinun kannattaa tarkistaa Internetistä saadaksesi tietoja, miten tämän voi korjata. || Det finns många anledningar varför detta felet har uppstått. Du borde leta efter information online om hur man fixar det. || Je hodně možností, proč mohla tato chyba nastat. Doporučujeme zkusit vyhledat řešení problému online. || Ka shumë arsye se pse ky gabim mund të ndodhë. Duhet të shikosh në internet për informacion se si për të rregulluar atë. || Der er mange grunde til at denne fejl kan forekomme. Du burde tjekke online for information om hvordan man fikser det. || Hi ha moltes raons per les quals pot ocòrrer aquest error. Hauries de buscar més informació a l'Internet. || Ennek a hibának több oka is lehet. Próbálj rákeresni az interneten, hátha van rá megoldás.<br />
|-<br />
| Please turn off the Wii now. || Schakel nu de Wii uit. || À présent, veuillez éteindre la Wii. || Bitte schalte die Wii nun aus. || Ora spegni la Wii per favore. || Wiiの電源をoffにしてください。 || Wii 전원을 종료해 주십시오. || (NTSC) Por favor, desligue o Wii agora.<br />(PAL) Por favor, desliga a Wii agora. || {{no|-}} || (NTSC) Por favor, apaga el Wii ahora. <br />(PAL) Por favor, apaga la Wii ahora.<br />
| Παρακαλώ σβήστε το Wii τώρα. || Proszę, wyłącz Wii. || Sulje Wii nyt... || Var vänlig stäng av ditt Wii nu. || Teď prosím vypněte Wii. || Te lutem shkyme Wiin tash. || Sluk venligst Wii'en nu. || Apaga la Wii ara, si us plau. || Kérlek, kapcsold ki a Wii-d.<br />
|}<br />
<br />
=== Error Screen ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| Fatal Error. || Fatale fout. || Erreur fatale! || Schwerwiegender Fehler. || Errore fatale. || 致命的エラー。 || 중요 에러 발생 || Erro fatal. || {{no|-}} || Error fatal.<br />
| Καταστροφικό σφάλμα. || Fatalny błąd. || Kohtalokas virhe! || Allvarligt Fel. || Kritická chyba. || Gabim fatale. || Fatal Fejl || Error fatal. || Végzetes hiba.<br />
|-<br />
| The CTGPR pack has crashed. || De CTGPR is gecrasht. || Le pack CTGPR a planté, suite à une défaillance. || Das CTGPR-Paket funktioniert nicht mehr. || CTGPR è andato in crash. || CTGPRがクラッシュしました。 || CTGPR 팩이 충돌했습니다. || (NTSC) O pack CTGP falhou.<br />(PAL) O pack CTGPR foi abaixo. || {{no|-}} || El pack CTGPR ha fallado.<br />
| Το πακέτο CTGPR έχει καταστραφεί. || Paczka CTGPR zacięła się. || CTGP-R-paketti on kaatunut. || CTGPR-paketet har kraschat. || Balíček CTGPR zhavaroval. || Paketa CTGPR nuk punon me. || CTPR Pakken er crashet. || El paquet CTGPR ha fallat. || A CTGP-R csomag összeomlott.<br />
|-<br />
| Please turn off the Wii and seek assistance online. || Schakel de Wii uit en zoek online voor ondersteuning. || Veuillez éteindre la Wii et chercher de l‘aide en ligne. || Bitte schalte die Wii aus und suche online nach Hilfe. || Spegni la Wii e cerca assistenza online. || Wiiの電源をoffにし、オンラインで報告してください。 || Wii 전원을 종료하고 온라인으로 해결 방법을 찾으십시오. || (NTSC) Por favor, desligue o Wii e procure assistência online. (PAL) Por favor, desliga a Wii e procura assistência online. || {{no|-}} || (NTSC) Apaga el Wii y busca asistencia en línea.<br />(PAL) Apaga la Wii y busca asistencia en línea.<br />
| Παρακαλώ σβήστε το Wii και κοιτάξτε για βοήθεια σχετικά με την διαδίκτυο. || Proszę, wyłącz Wii i poszukaj pomocy w internecie. || Sulje Wii nyt ja etsi apua Internetistä. || Var vänlig stäng av ditt Wii och sök hjälp online. || Prosím, vypněte Wii a vyhledejte pomoc online. || Te lutem shkyme Wiin dhe kërko ndihmë në internet. || Sluk venligst Wii'en og søg hjælp online. || Apaga el Wii i busca informació a l'Internet. || Kérlek kapcsold ki a Wii-d, és keress segítséget online.<br />
|}<br />
<br />
=== Anti-cheat ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|-<br />
| Caught ya! || Betrapt! || La main dans le sac! <br>'''-OR, litterally-'''<br> On t'attrape! || Auf frischer Tat ertappt! || Beccato! || 検出! || 잡았다 요놈! || (NTSC) Peguei você!<br />(PAL) Apanhei-te! || {{no|-}} || (NTSC) ¡Te atrapé!<br /> (PAL) ¡Te pillé!<br />
| Σε τσάκωσα! || Mam cię! || Haa! || Fångade dig! || Mám tě! || Të kapa! || Fangede dig! || Te enxampat! || Most megvagy!<br />
|-<br />
| Oops. Someone has been messing with something that they shouldn't have. || Oeps, Iemand heeft ergens aangezeten waar niet aangezeten mag worden. || Tiens donc. Quelqu'un vient de toucher à quelque chose qu'il ne fallait pas. || Ups. Da hat wohl jemand versucht, etwas zu manipulieren. || Oops! Qualcuno stava facendo qualcosa che non avrebbe dovuto fare. || だれかが何らかのファイルを変えています || 저런! 누군가가 건들지 말아야 할 것을 건들였군요.. ||| (NTSC) Oops. Alguém andou mexendo em algo que não devia.<br />(PAL) Ups. Alguém andou a mexer em algo que não devia. || {{no|-}} || (NTSC) Ups. Alguien estuvo moviéndole a algo que no debía.<br />(PAL) Uups. Alguien ha estado haciendo algo que no debía. || Ουπς. Κάποιος πείραξε κάτι που δεν θα έπρεπε. || Ups. Ktoś tu mieszał z czymś, z czym nie powinien. || Hups! Joku on tehnyt jotain, mitä hänen ei olisi pitänyt tehdä... || Hoppsan. Någon har trasslat med något de inte borde ha gjort. || Jejda. Někdo se vrtal v něčem, v čem neměl. || Ups. Ndoshta dikush ka provuar të manipulon diçka. || Ups. Nogle har pillet ved noget som de ikke burde. || Ui, algú a ha estat movent alguna cosa que no havia de fe. || Hoppá. Valaki valami olyat piszkált meg, amit nem kellett volna.<br />
|-<br />
| If you have attempted to use cheat codes, please remove them. || Als je hebt geprobeerd om cheatcodes te gebruiken, schakel ze uit. || Si vous avez essayé d'utiliser des codes de triche, veuillez les désactiver. || Falls du Hacks oder Cheat Codes benutzt, deaktiviere sie bitte. || Se stavi cercando di usare qualche codice per barare rimuovilo, per favore. || チートコードを使用していたら、それはむこうにしてください || 만약 치트 코드를 사용하려고 시도하셨다면, 다시 원상태로 되돌려 놓으시고 사용하지 마십시오. || (NTSC) Se você tentar usar cheats (códigos), por favor remove-os.<br />(PAL) Se tentaste usar códigos de batota, por favor remove-os. || {{no|-}} || (NTSC) Si has intentado usar trucos (códigos), por favor, quítalos.<br />(PAL) Si has intentado usar trucos (hacks/cheat codes), por favor, desactívalos.<br />
| Αν προσπαθήσατε να χρησιμοποιήσετε κωδικούς (cheat codes), παρακαλώ αφαιρέστε τους. || Jeśli próbowałeś użyć kodów, proszę, usuń je. || Jos olet yrittänyt käyttää huijauskoodeja, poista ne. || Om du har försökt att använda fuskkoder, var snäll ta bort dem. || Pokud jste se snažili cheatovat, tak ty cheaty vypněte. || Nëse ti përdor hacks apo cheats, te lutem deaktivoji. || Hvis du har forsøgt at bruge snydekoder, så fjern dem venligst. || Si has intentat usar codis de trucs (cheat codes), desactivar si us plau. || Ha csalásokat használsz, kérlek távolísd el őket.<br />
|-<br />
| If you have modified a KCL or KMP file, please undo this change. || Als je een KMP of KCL hebt aangepast, maak deze verandering dan ongedaan. || Si vous avez modifié un fichier KCL ou KMP, veuillez le remplacer par son original. || Falls du eine KCL- oder KMP-Datei verändert hast, mache es bitte rückgängig! || Se hai modificato un file KCL o KMP, per favore, riporta tutto ció che hai modificato com'era prima. || KCLやKMPファイルを変更していた場合はそれを元にもどしてください || 만약 수정하신 KCL 또는 KMP 파일을 가지고 계신다면 파일을 원상태로 되돌려 놓으십시오. || (NTSC) Se você modificou um arquivo KCL ou KMP, por favor desfaça essa alteração.<br />(PAL) Se modificaste um ficheiro KCL ou KMP, por favor desfaz essa alteração. || {{no|-}} || Si has modificado algún archivo KCL o KMP, por favor, deshaz ese cambio.<br />
| Άμα έχετε τροποποιήσει ενα αρχείο KCL ή KMP, παρακαλώ επαναφέρτε το καvονικό αρχείο. || Jeśli modyfikowałeś pliki KCL albo KMP, usuń tą zmianę. || Jos olet muokannut KCL- tai KMP-tiedostoa, peruuta muutos. || Om du har modifierat en KCL- eller KMP-fil, var snäll ångra ändringarna. || Pokud jste upravili soubor s příponou KCL nebo KMP, vraťte ho, prosím, do původního stavu. || Nëse ke modifikuar një KCL ose KMP, te lutem ktheje këtë ndryshim. || Hvis du har redigeret en KCL eller KMP fil, så gør den venligst tilbage som før. || Si tens un arxiu modificat de KCL o KMP, desfer aquest canvi, si us plau. || Ha egy KCL vagy KMP fájlt módosítottál, kérlek csináld vissza.<br />
|-<br />
| Otherwise, please redownload the CTGP-R; it is corrupted. || Anders moet de CTGP-R opnieuw gedownload worden, deze versie is beschadigd. || Sinon, veuillez réinstaller le pack CTGP-R ; il est peut-être corrompu. || Anderenfalls lade CTGP-R neu runter, da diese Version beschädigt ist. || In caso contrario riscarica CTGP-R; è corrotto. || 原因がそれ以外であった場合は、何かのファイルが破損しています。もういちどCTGPRをダウンロードをしてください。 || 그렇지 않다면, 손상된 것이니 CTGP-R을 다시 다운로드 해 주십시오. || (NTSC) Se não, por favor baixe novamente o CTGP; está corrompido.<br />(PAL) Se não, por favor volta a fazer o download do CTGPR; está corrompido. || {{no|-}} || (NTSC) De otro modo, por favor descarga de nuevo el CTGP-R, ya que está dañado.<br />(PAL) Si no, por favor, descarga de nuevo el CTGP-R; está dañado.<br />
| Αλλιώς, ξανακατεβάστε το CTGP-R, έχει διαφθαρθεί. || W innym przypadku, pobierz CTGPR ponownie; jest zepsute. || Jos et, yritä ladata CTGP-R uudelleen; se saattaa olla korruptoitunut. || Annars, var vänlig att ominstallera CTGP-R; Den är förstörd. || V opačném případě si prosím stáhněte znovu celé CTGP-R; je poškozené. || Përndryshe, te lutem shkarkoje CTGP-R sërish; është e korruptuar. || Ellers, så download CTGP-R på ny, den er beskadiget. || D'una altra manera, tornar a descarregar; està danyat. || Egyéb esetben a CTGP-R-ed sérült; töltsd le újra.<br />
|-<br />
| Hold the power button for 5 seconds to turn off the Wii. || Houd de powerknop voor vijf seconden ingedrukt om de Wii uit te schakelen. || Maintenez enfoncé le bouton POWER de la Wii pendant 5 secondes pour l'éteindre. || Halte den Power-Knopf für 5 Sekunden gedrückt, um deine Konsole auszuschalten. || Tieni premuto il tasto Power per 5 secondi per spegnere il Wii. || 電源ボタンを5秒間押し続けてください。 || 전원 버튼을 5초간 눌러 Wii의 전원을 꺼 주십시오. || (NTSC) Mantenha o botão power pressionado durante 5 segundos para desligar o Wii.<br />(PAL) Mantém o botão power premido durante 5 segundos para desligares a Wii. || {{no|-}} || (NTSC) Mantén presionado el botón Power durante 5 segundos para apagar el Wii.<br />(PAL) Mantén pulsado el botón Power durante 5 segundos para apagar la Wii.<br />
| Πατήστε και κρατήστε το κουμπί λειτουργίας για 5 δευτερόλεπτα για να σβήσει το Wii. || Przytrzymaj guzik „Power” przez 5 sekund, by wyłączyć Wii. || Pidä virtanäppäin pohjassa 5 sekunnin ajan sammuttaaksesi Wiin. || Håll strömknappen inne i 5 sekunder för att stänga av ditt Wii. || Podržte tlačítko napájení na 5 vteřin pro vypnutí Wii. || Mbaje butonin te shtypur për 5 sekonda për të shkymur Wiin. || Hold tænd/sluk knappen nede i 5 sekunder for at slukke Wii'en. || Mantigues el botó Power durant cinc segons per apagar la Wii. || Tartsd nyomva a Bekapcsológombot 5 másodpercig a Wii kikapcsolásához.<br />
|}<br />
<br />
=== Menus and Races ===<br />
<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
|-<br />
! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Portuguese !! Russian !! Spanish<br />
! Greek !! Polish !! Finnish !! Swedish !! Czech !! Albanian !! Danish !! Catalan !! Hungarian<br />
|- <br />
| By MrBean35000vr and Chadderz || Door MrBean35000vr en Chadderz || Par MrBean35000vr et Chadderz || Von MrBean35000vr und Chadderz || Creato da MrBean35000vr e Chadderz || MrBean35000vr、Chadderzによって作られました || 제작자: MrBean35000vr, Chadderz || Por MrBean35000vr e por Chadderz || {{no|-}} || Creado por MrBean35000vr y Chadderz<br />
| Από τον MrBean35000vr και τον Chadderz || Stworzone przez MrBean35000vr i Chadderz. || Tehneet MrBean35000vr ja Chadderz || Av MrBean35000vr och Chadderz || Vytvořili MrBean35000vr a Chadderz || Nga MrBean35000vr dhe Chadderz || Lavet af MrBean35000vr og Chadderz || Creat per MrBean35000vr i Chadderz || Készítette: MrBean35000vr és Chadderz<br />
|-<br />
<!-- Obviously the idea here is that English is replaced by the name of the language it's in! Leave the x y and z alone, MrBean and Chadderz will fill it in at the end. --><br />
| Translation to “English” by '''x''', '''y''' and '''z''' || Vertaling naar het Nederlands door '''x''', '''y''' en '''z''' || Traduit en Français par '''x''', '''y''', '''z''' || Übersetzung ins Deutsche von '''x''', '''y''' und '''z''' || Tradotto in Italiano da '''x''', '''y''' e '''z''' || 日本語 のほんやくは、'''x'''、'''y'''と'''z'''によりされました。 || '''x''', '''y'''와 '''z''' 에 의해 한국어로 번역됩니다 || Traduzido para Português por '''x''', '''y''' e '''z''' || {{no|-}} || Traducción al Español por '''x''', '''y''' y '''z'''.<br />
| Μετάφραση στα Ελληνικά από τους<sup>'''[1]'''</sup> '''x''', '''y''' και '''z''' (NOTE: <sup>'''[1]'''</sup> If one person translates and it's male use “τον”. If female use “την”.) || Przetłumaczono na Polski przez '''x''', '''y''' i '''z''' || Kääntänyt suomeksi '''x''', '''y''' ja '''z''' || Översatt till svenska av '''x''', '''y''' och '''z''' || Do češtiny přeložili '''x''', '''y''' a '''z''' || Përkthim në shqip nga '''x''', '''y''' dhe '''z''' || Oversættelse til dansk af '''x''', '''y''' og '''z'''. || Traducció al català per '''x''', '''y''' i '''z'''. || Magyarra fordította: '''x''', '''y''' és '''z'''<br />
|-<br />
| Custom Tracks Worldwide || Wereldwijd zelfgemaakte banen || Custom Tracks Mondial || Custom Tracks Global || Custom Track Mondiale || カスタムトラックの世界のだれとでも || CT세계의 누군가와 || Custom Tracks Mundial || {{no|-}} || (NTSC) Custom Tracks Mundial<br/> (PAL)Mundial de CTs<br />
| Custom Tracks Παγκοσμίως || Własne Trasy Globalnie || CT-maailmanlaajuinen || Custom Tracks Global || Celosvětově s upravenými tratěmi || Custom Tracka Botëror || Custom Tracks Verdensomspændende || Custom Tracks Mundial || Nemhivatalos Pályák<br />
|-<br />
| We're playing a CTGP! || Wij spelen een CTGP! || Nous faisons un CTGP! || Wir fahren einen CTGP! || Stiamo giocando un CTGP! || CTGPをしています! || CTGP 그랑프리 개인전을 플레이하고 있습니다! || (NTSC) Estamos jogando um CTGP!<br />(PAL) Estamos a jogar um CTGP! || {{no|-}} || ¡Estamos jugando un CTGP!<br />
| Παίζουμε ένα CTGP! || Gramy CTGP! || Pelaamme CTGP:tä. || Vi spelar en CTGP! || Hrajeme CTGP! || Ne jemi duke luajtur një CTGP! || Vi spiller et CTGP || Estem jugant un CTGP! || CTGP-zünk!<br />
|-<br />
| We're playing a Team CTGP! || Wij spelen een Team CTGP! || Nous faisons un CTGP en équipes! || Wir fahren einen Team-CTGP! || Stiamo giocando un CTGP a Squadre! || CTGPのチーム戦をしています! || CTGP 그랑프리 단체전을 플레이하고 있습니다! || (NTSC) Estamos jogando um CTGP em Equipes!<br />(PAL) Estamos a jogar um CTGP por Equipas! || {{no|-}} || (NTSC) ¡Estamos jugando un CTGP en Equipo!<br />(PAL) ¡Estamos jugando un CTGP por Equipos!<br />
| Παίζουμε ένα Oμαδικό CTGP! || Gramy CTGP grupowo! || Pelaamme TCTGP:tä. || Vi spelar ett lag-CTGP! || Hrajeme CTGP na týmy! || Ne jemi duke luajtur një CTGP me skuadra! || Vi spiller et Hold-CTGP! || Estem jugant un CTGP d'equips! || Csapatban CTGP-zünk!<br />
|-<br />
| Challenge CTGP Revolution players around the world. || Daag CTGP Revolutionspelers rond de wereld uit. || Défiez des joueurs CTGP Revolution dans le monde entier. || Fordere andere CTGP Revolution Spieler aus der ganzen Welt heraus. || Sfida giocatori di CTGP Revolution in tutto il mondo. || 世界中のCTGP Revolutionのプレイヤーに挑戦しています。 || 전 세계의 CTGP Revolution 유저들과 플레이합니다. || (NTSC) Desafie jogadores de CTGP Revolution ao redor do mundo.<br />(PAL) Desafia jogadores de CTGP de todo o mundo. || {{no|-}} || Reta a jugadores de CTGP Revolution de todo el mundo.<br />
| Αντιμετώπισε παίκτες με CTGP Revolution από όλο τον κόσμο. || Zawalcz z innymi ludźmi na świecie w CTGP Revolution. || Haasta CTGP-R:n pelaajat kaikkialla maailmassa. || Utmana CTGP Revolution-spelare runt om i världen. || Vyzvěte hráče CTGP Revolution po celém světě. || Sfidoji lojtarët të Revolution CTGPs rreth botës. || Udfordr CTGP Revolution spillere over hele verden. || Repte jugadors de CTGP per tot el món. || Hívj ki CTGP-R játékosokat világszerte!<br />
|-<br />
| I'm either playing CTs or Continental! || Ik bespeel ofwel zelfgemaakte banen of continentaal. || Je joue soit en Continental, soit aux Custom Tracks! || Ich spiele Custom Tracks oder Kontinental! || Sto giocando con le CT o in Continentale! || CTで世界か国内のだれかとあそんでいます!|| CT세계의 누군가와 또는 국내의 누군가와를 플레이하고 있습니다! || (NTSC) Estou jogando Custom Tracks ou em um Continental!<br />(PAL) Estou a jogar Custom Tracks ou um Continental! || {{no|-}} || (NTSC) ¡Estoy jugando en Custom Tracks o en Continental!<br />(PAL) ¡Estoy jugando con CTs o en un Continental!<br />
| Παίζω είτε CTs ή Ηπειρωτικά! || Gram w Własne Trasy albo z moim kontynentem! || Pelaan joko CT-maailmanlaajuista tai alueellista. || Jag spelar antingen CTs eller Kontinentalt! || Hraji buďto s upravenými traťmi nebo kontinentálně! || Unë jam duke luajtur ose CT ose Kontinentale! || Jeg spiller enten CTs eller Kontinental! || Estic jugant CTs o Continental! || Vagy NH pályákat, vagy kontinentálisan játszom!<br />
|-<br />
| You're taking too long!<br />Nintendo will disconnect you! || Je doet er te lang over!<br />Nintendo zal de verbinding verbreken! || Vous prenez trop de temps à finir! <br><br> Faites vite avant que Nintendo ne vous déconnecte! <br>'''-OR-'''<br> Faites vite, sinon Nintendo vous déconnectera! || Du brauchst zu lange!<br />Nintendo wird deine Verbindung trennen! || Ci stai mettendo troppo!<br />La Nintendo ti disconnetterà! || レースが終了するのに時間がかかっているようです。<br />任天堂によってオンラインから切断されます。|| 너무 오래 걸리는군요! 닌텐도의 온라인 연결이 끊길 것입니다! || (NTSC) Você está demorando muito!<br />Nintendo vai desconectar você!<br />(PAL) Estão a demorar muito tempo!<br />A Nintendo ainda vos desliga! || {{no|-}} || (NTSC) ¡Te estás tardando demasiado! <br /> ¡Nintendo te va a desconectar!<br />(PAL)¡Estás tardando demasiado! <br /> ¡Nintendo te va a desconectar!<br />
| Κάνετε πολύ ώρα!<br />Η Nintendo θα σας αποσυνδέσει! || Pośpiesz się!<br /> Nintendo cię rozłączy! || Pelisi kestää liian pitkään!<br /> Nintento katkaisee yhteytesi! || Du tar för lång tid!<br />Nintendo kommer att frånkoppla dig || Trvá Vám to příliš dlouho!<br />Nintendo Vás odpojí! || Ti je duke harxhitur tepër kohë!<br />Nintendo do të shkyç! || Du bruger for lang tid!<br />Nintendo vil afbryde forbindelsen! || Estàs trigant massa! <br/> Nintendo et desconnectarà! || Túl lassú vagy!<br />Nintendo le fog kapcsolni!<br />
|}<br />
<br />
=== Room Chat ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/Room Chat]]}}<br />
<br />
=== Track Names ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/Track Names]]}}<br />
<br />
=== CTGP Revolution Channel ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/CTGP Revolution Channel]]}}<br />
<br />
=== LAN multiplayer mode ===<br />
<br />
{{about|Main article: [[{{PAGENAME}}/LAN]]}}<br />
<br />
[[Category:Distribution]]<br />
[[Category:Translation]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=CTGP_Revolution/Translation/LAN&diff=135108CTGP Revolution/Translation/LAN2018-05-14T08:15:16Z<p>Chadderz: Created page with "{{CTGP Revolution/Translation}} These messages replace in-game messages when in LAN multiplayer mode. Some correspond quite closely to messages in the original game, simply re..."</p>
<hr />
<div>{{CTGP Revolution/Translation}}<br />
These messages replace in-game messages when in LAN multiplayer mode. Some correspond quite closely to messages in the original game, simply replacing Nintendo WFC with local network. Others are more unique.<br />
{| class="wikitable"<br />
|+ <br />Translation<br /><br /><br />
! MID !! English !! Dutch !! French !! German !! Italian !! Japanese !! Korean !! Spanish<br />
! Greek !! Portuguese !! Polish !! Finnish !! Swedish !! Czech<br />
|-<br />
| 2af8 || LAN Multiplayer || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2af9 || Play on the local network! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2afa || Play with a friend on the local network! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2afb || You cannot use the\nMario Kart Channel with\nLAN Multiplayer enabled. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2afc || LAN Multiplayer (1P) || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2afd || LAN Multiplayer (2P) || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2afe || Create a room to play with people on the network. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2aff || Join a Room || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b00 || See who has an open room on the network. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b01 || Credits || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b02 || See who made this and why. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b03 || LAN Multiplayer Mod\n\nCoded by MrBean35000vr and Chadderz\nfor our good friends at roomkey.com.\n\nThe coolest hotel comparison website\nbecause they love MKW so much that\nthey play it in the office at work. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b05 || Not connected. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b06 || Local Network || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b07 || There appears to be nobody here. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b08 || Info || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b0a || Currently not connected to anyone.\n\nThis will fill in automatically if more consoles\ncome onto the network. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b0b || Waiting for players... || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b0c || Joining the room... || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b0d || You were disconnected from the\nroom's creator. You will now be\nreturned to the room list. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b0e || You couldn't join the room.\n\nPlease try again! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b0f || Join room || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b10 || I'm busy right now! || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b11 || I'm waiting... || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b12 || I'm no longer here. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b13 || You will now disconnect\nfrom the network and\nreturn to the main menu. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b14 || '''x''' and '''y'''\nwill connect to the network\ntogether. Is this OK? || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b15 || Connecting to the network... || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b16 || Disconnect from the network? || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b17 || Will you allow game data\nto be sent to Nintendo?\n(Disabled in LAN multiplayer). || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b18 || Are you sure this is OK? You will be\nunable to play Mario Kart Wii via\nNintendo WFC or LAN multiplayer\nwith this setting. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
| 2b19 || Controllers cannot be changed during\na networked match. Please restore\nthe original controller. || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}} || {{no|-}}<br />
|-<br />
|}<br />
<br />
[[Category:Distribution]]<br />
[[Category:Translation]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=List_of_Identifiers&diff=134787List of Identifiers2018-05-09T17:28:30Z<p>Chadderz: /* Background Music */ Reformat multiple value entries so sorting works :)</p>
<hr />
<div>{{Under-construction}}<br />
An '''Identifier''' (ID) is a way of referring to something. Computer programs like [[Mario Kart Wii]] commonly use numbers or code names for identifiers which do not necessarily match what users would commonly use. This article lists known identifiers for various parts of Mario Kart Wii.<br />
<br />
== Courses ==<br />
''Main Articles: [[Slot]] and [[Filesystem/Race/Course]]''<br />
<br />
Identifiers for the courses are in a common pool. This is shared between the battle, race, competition and cinematic courses and also the online voting identifiers.<br />
<br />
The code numbers are used exclusively by the user interface and online networking and the code name is only used when constructing a file name within the [[Filesystem/Race/Course|/Race/Course]] directory. Consequently there exists tables in the memory to convert from code numbers to code names.<br />
<br />
{| class="wikitable sortable"<br />
|+ Course identifiers<br />
! Wiiki ID !! Description !! Code Number !! Code Name<br />
|-<br />
| T11<br />
| Luigi Circuit<br />
| <code>0x08</code><br />
| <code>beginner_course</code><br />
|-<br />
| T12<br />
| Moo Moo Meadows<br />
| <code>0x01</code><br />
| <code>farm_course</code><br />
|-<br />
| T13<br />
| Mushroom Gorge<br />
| <code>0x02</code><br />
| <code>kinoko_course</code><br />
|-<br />
| T14<br />
| Toad's Factory<br />
| <code>0x04</code><br />
| <code>factory_course</code><br />
|-<br />
| T21<br />
| Mario Circuit<br />
| <code>0x00</code><br />
| <code>castle_course</code><br />
|-<br />
| T22<br />
| Coconut Mall<br />
| <code>0x05</code><br />
| <code>shopping_course</code><br />
|-<br />
| T23<br />
| DK Summit/DK Snowboard Cross<br />
| <code>0x06</code><br />
| <code>boardcross_course</code><br />
|-<br />
| T24<br />
| Wario's Gold Mine<br />
| <code>0x07</code><br />
| <code>truck_course</code><br />
|-<br />
| T31<br />
| Daisy Circuit<br />
| <code>0x09</code><br />
| <code>senior_course</code><br />
|-<br />
| T32<br />
| Koopa Cape<br />
| <code>0x0F</code><br />
| <code>water_course</code><br />
|-<br />
| T33<br />
| Maple Treeway<br />
| <code>0x0B</code><br />
| <code>treehouse_course</code><br />
|-<br />
| T34<br />
| Grumble Volcano<br />
| <code>0x03</code><br />
| <code>volcano_course</code><br />
|-<br />
| T41<br />
| Dry Dry Ruins<br />
| <code>0x0E</code><br />
| <code>desert_course</code><br />
|-<br />
| T42<br />
| Moonview Highway<br />
| <code>0x0A</code><br />
| <code>ridgehighway_course</code><br />
|-<br />
| T43<br />
| Bowser's Castle<br />
| <code>0x0C</code><br />
| <code>koopa_course</code><br />
|-<br />
| T44<br />
| Rainbow Road<br />
| <code>0x0D</code><br />
| <code>rainbow_course</code><br />
|-<br />
| T51<br />
| GCN Peach Beach<br />
| <code>0x10</code><br />
| <code>old_peach_gc</code><br />
|-<br />
| T52<br />
| DS Yoshi Falls<br />
| <code>0x14</code><br />
| <code>old_falls_ds</code><br />
|-<br />
| T53<br />
| SNES Ghost Valley 2<br />
| <code>0x19</code><br />
| <code>old_obake_sfc</code><br />
|-<br />
| T54<br />
| N64 Mario Raceway<br />
| <code>0x1A</code><br />
| <code>old_mario_64</code><br />
|-<br />
| T61<br />
| N64 Sherbet Land<br />
| <code>0x1B</code><br />
| <code>old_sherbet_64</code><br />
|-<br />
| T62<br />
| GBA Shy Guy Beach<br />
| <code>0x1F</code><br />
| <code>old_heyho_gba</code><br />
|-<br />
| T63<br />
| DS Delfino Square<br />
| <code>0x17</code><br />
| <code>old_town_ds</code><br />
|-<br />
| T64<br />
| GCN Waluigi Stadium<br />
| <code>0x12</code><br />
| <code>old_waluigi_gc</code><br />
|-<br />
| T71<br />
| DS Desert Hills<br />
| <code>0x15</code><br />
| <code>old_desert_ds</code><br />
|-<br />
| T72<br />
| GBA Bowser Castle 3<br />
| <code>0x1E</code><br />
| <code>old_koopa_gba</code><br />
|-<br />
| T73<br />
| N64 DK's Jungle Parkway<br />
| <code>0x1D</code><br />
| <code>old_donkey_64</code><br />
|-<br />
| T74<br />
| GCN Mario Circuit<br />
| <code>0x11</code><br />
| <code>old_mario_gc</code><br />
|-<br />
| T81<br />
| SNES Mario Circuit 3<br />
| <code>0x18</code><br />
| <code>old_mario_sfc</code><br />
|-<br />
| T82<br />
| DS Peach Gardens<br />
| <code>0x16</code><br />
| <code>old_garden_ds</code><br />
|-<br />
| T83<br />
| GCN DK Mountain<br />
| <code>0x13</code><br />
| <code>old_donkey_gc</code><br />
|-<br />
| T84<br />
| N64 Bowser's Castle<br />
| <code>0x1C</code><br />
| <code>old_koopa_64</code><br />
|-<br />
| A11<br />
| Block Plaza<br />
| <code>0x21</code><br />
| <code>block_battle</code><br />
|-<br />
| A12<br />
| Delfino Pier<br />
| <code>0x20</code><br />
| <code>venice_battle</code><br />
|-<br />
| A13<br />
| Funky Stadium<br />
| <code>0x23</code><br />
| <code>skate_battle</code><br />
|-<br />
| A14<br />
| Chain Chomp Wheel/Chain Chomp Roulette<br />
| <code>0x22</code><br />
| <code>casino_battle</code><br />
|-<br />
| A15<br />
| Thwomp Desert<br />
| <code>0x24</code><br />
| <code>sand_battle</code><br />
|-<br />
| A21<br />
| SNES Battle Course 4<br />
| <code>0x27</code><br />
| <code>old_battle4_sfc</code><br />
|-<br />
| A22<br />
| GBA Battle Course 3<br />
| <code>0x28</code><br />
| <code>old_battle3_gba</code><br />
|-<br />
| A23<br />
| N64 Skyscraper<br />
| <code>0x29</code><br />
| <code>old_matenro_64</code><br />
|-<br />
| A24<br />
| GCN Cookie Land<br />
| <code>0x25</code><br />
| <code>old_CookieLand_gc</code><br />
|-<br />
| A25<br />
| DS Twilight House<br />
| <code>0x26</code><br />
| <code>old_House_ds</code><br />
|-<br />
| WIN<br />
| Winning scene<br />
| <code>0x37</code><br />
| <code>winningrun_demo</code><br />
|-<br />
| LOS<br />
| Losing scene<br />
| <code>0x38</code><br />
| <code>loser_demo</code><br />
|-<br />
| END<br />
| Luigi Circuit (credits)<br />
| <code>0x3A</code><br />
| <code>ending_demo</code><br />
|-<br />
| MAR<br />
| GCN Mario Circuit (not used, direct port)<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_b</code><br />
|-<br />
| RNG<br />
| Galaxy Colosseum (was used in a tournament)<br />
| <code>0x36</code><br />
| <code>ring_mission</code><br />
|-<br />
| DRW<br />
| Broken version of loser_demo (not used, old [[BRRES]] format)<br />
| <code>0x39</code><br />
| <code>draw_demo</code><br />
|-<br />
| HAY<br />
|rowspan=3| GCN Mario Circuit (not used, old [[BRRES]] format)<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_hayasi</code><br />
|-<br />
| NAR<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_narita</code><br />
|-<br />
| YAB<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_yabuki</code><br />
|-<br />
| {{Unknown-left|-}}<br />
| Used in online voting.<br />
| <code>0x42</code><br />
| {{Unknown-left|-}}<br />
|-<br />
| {{Unknown-left|-}}<br />
| Used in online voting.<br />
| <code>0x43</code><br />
| {{Unknown-left|-}}<br />
|-<br />
| {{Unknown-left|-}}<br />
| Used to represent Random in online voting.<br />
| <code>0xFF</code><br />
| {{Unknown-left|-}}<br />
|}<br />
<br />
== Cups ==<br />
<br />
Both battle and race cups are identified numerically in user interface code by a simple left to right, top to bottom numbering from 0. These numerical identifiers are only used internally by the user interfaces. The user interfaces do however load specific video files by name, allowing us to deduce the code name for the cups.<br />
<br />
{| class="wikitable sortable"<br />
|+ Cup identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Mushroom || <code>0</code> || <code>kinoko</code><br />
|-<br />
| Flower || <code>1</code> || <code>flower</code><br />
|-<br />
| Star || <code>2</code> || <code>star</code><br />
|-<br />
| Special || <code>3</code> || <code>special</code><br />
|-<br />
| Shell || <code>4</code> || <code>koura</code><br />
|-<br />
| Banana || <code>5</code> || <code>banana</code><br />
|-<br />
| Leaf || <code>6</code> || <code>konoha</code><br />
|-<br />
| Lightning || <code>7</code> || <code>lightning</code><br />
|-<br />
| Wii Battle || <code>0</code> || <code>battle_wii</code><br />
|-<br />
| Retro Battle || <code>1</code> || <code>battle_retro</code><br />
|}<br />
<br />
== Characters ==<br />
<br />
All in-game characters are identified by a code number in the user interface and in the online messaging format. This is converted to a short code name when forming a file name to access the [[Filesystem/Race/Kart|/Race/Kart]] and [[Filesystem/Scene/Model/Kart|/Scene/Model/Kart]] directories.<br />
<br />
{| class="wikitable sortable"<br />
|+ Character identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Mario || <code>0x00</code> || <code>mr</code><br />
|-<br />
| Baby Peach || <code>0x01</code> || <code>bpc</code><br />
|-<br />
| Waluigi || <code>0x02</code> || <code>wl</code><br />
|-<br />
| Bowser || <code>0x03</code> || <code>kp</code><br />
|-<br />
| Baby Daisy || <code>0x04</code> || <code>bds</code><br />
|-<br />
| Dry Bones || <code>0x05</code> || <code>ka</code><br />
|-<br />
| Baby Mario || <code>0x06</code> || <code>bmr</code><br />
|-<br />
| Luigi || <code>0x07</code> || <code>lg</code><br />
|-<br />
| Toad || <code>0x08</code> || <code>ko</code><br />
|-<br />
| Donkey Kong || <code>0x09</code> || <code>dk</code><br />
|-<br />
| Yoshi || <code>0x0A</code> || <code>ys</code><br />
|-<br />
| Wario || <code>0x0B</code> || <code>wr</code><br />
|-<br />
| Baby Luigi || <code>0x0C</code> || <code>blg</code><br />
|-<br />
| Toadette || <code>0x0D</code> || <code>kk</code><br />
|-<br />
| Koopa Troopa || <code>0x0E</code> || <code>nk</code><br />
|-<br />
| Daisy || <code>0x0F</code> || <code>ds</code><br />
|-<br />
| Peach || <code>0x10</code> || <code>pc</code><br />
|-<br />
| Birdo || <code>0x11</code> || <code>ca</code><br />
|-<br />
| Diddy Kong || <code>0x12</code> || <code>dd</code><br />
|-<br />
| King Boo || <code>0x13</code> || <code>kt</code><br />
|-<br />
| Bowser Jr. || <code>0x14</code> || <code>jr</code><br />
|-<br />
| Dry Bowser || <code>0x15</code> || <code>bk</code><br />
|-<br />
| Funky Kong || <code>0x16</code> || <code>fk</code><br />
|-<br />
| Rosalina || <code>0x17</code> || <code>rs</code><br />
|-<br />
| Small Mii Outfit A (Male) || <code>0x18</code> || <code>sa_mii_m</code><br />
|-<br />
| Small Mii Outfit A (Female) || <code>0x19</code> || <code>sa_mii_f</code><br />
|-<br />
| Small Mii Outfit B (Male) || <code>0x1A</code> || <code>sb_mii_m</code><br />
|-<br />
| Small Mii Outfit B (Female) || <code>0x1B</code> || <code>sb_mii_f</code><br />
|-<br />
| Small Mii Outfit C (Male) || <code>0x1C</code> || <code>sc_mii_m</code><br />
|-<br />
| Small Mii Outfit C (Female) || <code>0x1D</code> || <code>sc_mii_f</code><br />
|-<br />
| Medium Mii Outfit A (Male) || <code>0x1E</code> || <code>ma_mii_m</code><br />
|-<br />
| Medium Mii Outfit A (Female) || <code>0x1F</code> || <code>ma_mii_f</code><br />
|-<br />
| Medium Mii Outfit B (Male) || <code>0x20</code> || <code>mb_mii_m</code><br />
|-<br />
| Medium Mii Outfit B (Female) || <code>0x21</code> || <code>mb_mii_f</code><br />
|-<br />
| Medium Mii Outfit C (Male) || <code>0x22</code> || <code>mc_mii_m</code><br />
|-<br />
| Medium Mii Outfit C (Female) || <code>0x23</code> || <code>mc_mii_f</code><br />
|-<br />
| Large Mii Outfit A (Male) || <code>0x24</code> || <code>ma_mii_m</code><br />
|-<br />
| Large Mii Outfit A (Female) || <code>0x25</code> || <code>ma_mii_f</code><br />
|-<br />
| Large Mii Outfit B (Male) || <code>0x26</code> || <code>mb_mii_m</code><br />
|-<br />
| Large Mii Outfit B (Female) || <code>0x27</code> || <code>mb_mii_f</code><br />
|-<br />
| Large Mii Outfit C (Male) || <code>0x28</code> || <code>mc_mii_m</code><br />
|-<br />
| Large Mii Outfit C (Female) || <code>0x29</code> || <code>mc_mii_f</code><br />
|-<br />
| Medium Mii || <code>0x2A</code> || <code>m_mii</code><br />
|-<br />
| Small Mii || <code>0x2B</code> || <code>s_mii</code><br />
|-<br />
| Large Mii || <code>0x2C</code> || <code>l_mii</code><br />
|-<br />
| Peach Biker Outfit || <code>0x2D</code> || <code>pc_menu</code><br />
|-<br />
| Daisy Biker Outfit || <code>0x2E</code> || <code>ds_menu</code><br />
|-<br />
| Rosalina Biker Outfit || <code>0x2F</code> || <code>rs_menu</code><br />
|}<br />
<br />
== Vehicles ==<br />
<br />
All vehicles are identified by a code number in the user interface and in the online messaging format. This is converted to a short code name when forming a file name to access the [[Filesystem/Race/Kart|/Race/Kart]] directory.<br />
<br />
{| class="wikitable sortable"<br />
|+ Vehicle identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Standard Kart S || <code>0x00</code> || <code>sdf_kart</code><br />
|-<br />
| Standard Kart M || <code>0x01</code> || <code>mdf_kart</code><br />
|-<br />
| Standard Kart L || <code>0x02</code> || <code>ldf_kart</code><br />
|-<br />
| Booster Seat || <code>0x03</code> || <code>sa_kart</code><br />
|-<br />
| Classic Dragster || <code>0x04</code> || <code>ma_kart</code><br />
|-<br />
| Offroader || <code>0x05</code> || <code>la_kart</code><br />
|-<br />
| Mini Beast || <code>0x06</code> || <code>sb_kart</code><br />
|-<br />
| Wild Wing || <code>0x07</code> || <code>mb_kart</code><br />
|-<br />
| Flame Flyer || <code>0x08</code> || <code>lb_kart</code><br />
|-<br />
| Cheep Charger || <code>0x09</code> || <code>sc_kart</code><br />
|-<br />
| Super Blooper || <code>0x0A</code> || <code>mc_kart</code><br />
|-<br />
| Piranha Prowler || <code>0x0B</code> || <code>lc_kart</code><br />
|-<br />
| Tiny Titan || <code>0x0C</code> || <code>sd_kart</code><br />
|-<br />
| Daytripper || <code>0x0D</code> || <code>md_kart</code><br />
|-<br />
| Jetsetter || <code>0x0E</code> || <code>ld_kart</code><br />
|-<br />
| Blue Falcon || <code>0x0F</code> || <code>se_kart</code><br />
|-<br />
| Sprinter || <code>0x10</code> || <code>me_kart</code><br />
|-<br />
| Honeycoupe || <code>0x11</code> || <code>le_kart</code><br />
|-<br />
| Standard Bike S || <code>0x12</code> || <code>sdf_bike</code><br />
|-<br />
| Standard Bike M || <code>0x13</code> || <code>mdf_bike</code><br />
|-<br />
| Standard Bike L || <code>0x14</code> || <code>ldf_bike</code><br />
|-<br />
| Bullet Bike || <code>0x15</code> || <code>sa_bike</code><br />
|-<br />
| Mach Bike || <code>0x16</code> || <code>ma_bike</code><br />
|-<br />
| Flame Runner || <code>0x17</code> || <code>la_bike</code><br />
|-<br />
| Bit Bike || <code>0x18</code> || <code>sb_bike</code><br />
|-<br />
| Sugarscoot || <code>0x19</code> || <code>mb_bike</code><br />
|-<br />
| Wario Bike || <code>0x1A</code> || <code>lb_bike</code><br />
|-<br />
| Quacker || <code>0x1B</code> || <code>sc_bike</code><br />
|-<br />
| Zip Zip || <code>0x1C</code> || <code>mc_bike</code><br />
|-<br />
| Shooting Star || <code>0x1D</code> || <code>lc_bike</code><br />
|-<br />
| Magikruiser || <code>0x1E</code> || <code>sd_bike</code><br />
|-<br />
| Sneakster || <code>0x1F</code> || <code>md_bike</code><br />
|-<br />
| Spear || <code>0x20</code> || <code>ld_bike</code><br />
|-<br />
| Jet Bubble || <code>0x21</code> || <code>se_bike</code><br />
|-<br />
| Dolphin Dasher || <code>0x22</code> || <code>me_bike</code><br />
|-<br />
| Phantom || <code>0x23</code> || <code>le_bike</code><br />
|}<br />
<br />
== Background Music ==<br />
<br />
Background Music in the game is referenced by a code number in the user interface logic. This is then translated into a code name in order to access the [[Filesystem/sound/strm|/sound/strm]] directory.<br />
<br />
{| class="wikitable sortable"<br />
|+ Background music identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Dry Dry Ruins (Normal) || <code>0x89</code> || <code>STRM_N_DESERT_N</code><br />
|-<br />
| Dry Dry Ruins (Fast) || <code>0x8A</code> || <code>STRM_N_DESERT_F</code><br />
|-<br />
| Toad's Factory (Normal) || <code>0x7B</code> || <code>STRM_N_FACTORY_N</code><br />
|-<br />
| Toad's Factory (Fast) || <code>0x7C</code> || <code>STRM_N_FACTORY_F</code><br />
|-<br />
| Bowser's Castle (Normal) || <code>0x91</code> || <code>STRM_N_KOOPA_N</code><br />
|-<br />
| Bowser's Castle (Fast) || <code>0x92</code> || <code>STRM_N_KOOPA_F</code><br />
|-<br />
| Moonview Highway (Normal) || <code>0x8D</code> || <code>STRM_N_RIDGEHIGHWAY_N</code><br />
|-<br />
| Moonview Highway (Fast) || <code>0x8E</code> || <code>STRM_N_RIDGEHIGHWAY_F</code><br />
|-<br />
| Wario's Goldmine (Normal) || <code>0x83</code> || <code>STRM_N_TRUCK_N</code><br />
|-<br />
| Wario's Goldmine (Fast) || <code>0x84</code> || <code>STRM_N_TRUCK_F</code><br />
|-<br />
| Koopa Cape (Normal) || <code>0x85</code> || <code>STRM_N_WATER_N</code><br />
|-<br />
| Koopa Cape (Fast) || <code>0x86</code> || <code>STRM_N_WATER_F</code><br />
|-<br />
| Galaxy Colosseum || <code>0xC9</code> || <code>n_BossMI_32</code><br />
|-<br />
| Luigi Circuit (Normal) || <code>0x75</code> || <code>n_Circuit32_n</code><br />
|-<br />
| Luigi Circuit (Fast) || <code>0x76</code> || <code>n_Circuit32_f</code><br />
|-<br />
| Mario Circuit (Normal) || <code>0x7D</code> || <code>n_Circuit32_n</code><br />
|-<br />
| Mario Circuit (Fast) || <code>0x7E</code> || <code>n_Circuit32_f</code><br />
|-<br />
| Daisy Circuit (Normal) || <code>0x87</code> || <code>n_Daisy32_n</code><br />
|-<br />
| Daisy Circuit (Fast) || <code>0x88</code> || <code>n_Daisy32_f</code><br />
|-<br />
| Moo Moo Meadows (Normal) || <code>0x77</code> || <code>n_Farm_n</code><br />
|-<br />
| Moo Moo Meadows (Fast) || <code>0x78</code> || <code>n_Farm_f</code><br />
|-<br />
| Mushroom Gorge (Normal) || <code>0x79</code> || <code>n_Kinoko_n</code><br />
|-<br />
| Mushroom Gorge (Fast) || <code>0x7A</code> || <code>n_Kinoko_f</code><br />
|-<br />
| Rainbow Road (Normal) || <code>0x93</code> || <code>n_Rainbow32_n</code><br />
|-<br />
| Rainbow Road (Fast) || <code>0x94</code> || <code>n_Rainbow32_f</code><br />
|-<br />
| Coconut Mall (Normal) || <code>0x7F</code> || <code>n_Shopping32_n</code><br />
|-<br />
| Coconut Mall (Fast) || <code>0x80</code> || <code>n_Shopping32_f</code><br />
|-<br />
| DK Summit (Normal) || <code>0x81</code> || <code>n_Snowboard32_n</code><br />
|-<br />
| DK Summit (Fast) || <code>0x82</code> || <code>n_Snowboard32_f</code><br />
|-<br />
| Grumble Volcano (Normal) || <code>0x8B</code> || <code>n_Volcano32_n</code><br />
|-<br />
| Grumble Volcano (Fast) || <code>0x8C</code> || <code>n_Volcano32_f</code><br />
|-<br />
| Block Plaza (Normal) || <code>0xB7</code> || <code>n_block_n</code><br />
|-<br />
| Block Plaza (Fast) || <code>0xB8</code> || <code>n_block_f</code><br />
|-<br />
| Chain Chomp Wheel (Normal) || <code>0xBB</code> || <code>n_casino_n</code><br />
|-<br />
| Chain Chomp Wheel (Fast) || <code>0xBC</code> || <code>n_casino_f</code><br />
|-<br />
| Maple Treeway (Normal) || <code>0x8F</code> || <code>n_maple_n</code><br />
|-<br />
| Maple Treeway (Fast) || <code>0x90</code> || <code>n_maple_f</code><br />
|-<br />
| Thwomp Desert (Normal) || <code>0xBD</code> || <code>n_ryuusa_n</code><br />
|-<br />
| Thwomp Desert (Fast) || <code>0xBE</code> || <code>n_ryuusa_f</code><br />
|-<br />
| Funky Stadium (Normal) || <code>0xB9</code> || <code>n_skate_n</code><br />
|-<br />
| Funky Stadium (Fast) || <code>0xBA</code> || <code>n_skate_f</code><br />
|-<br />
| Delfino Pier (Normal) || <code>0xB5</code> || <code>n_venice_n</code><br />
|-<br />
| Delfino Pier (Fast) || <code>0xB6</code> || <code>n_venice_f</code><br />
|-<br />
| Race intro || <code>0x56</code> || <code>o_Crs_In_Fan</code><br />
|-<br />
| Wi-Fi race intro || <code>0x5B</code> || <code>o_Crs_In_Fan_Wifi</code><br />
|-<br />
| Battle intro || <code>0x57</code> || <code>o_Crs_In_Fan_battle</code><br />
|-<br />
| Mission intro || <code>0x58</code> || <code>o_Crs_In_Fan_mission</code><br />
|-<br />
| Ending theme (credits) || <code>0xCE</code> || <code>o_Ending_PartA_32</code><br />
|-<br />
| Battle results: draw || <code>0x6E</code> || <code>o_FanfareBTdraw_32</code><br />
|-<br />
|rowspan=2| First place finish fanfare and results || <code>0x5C</code> ||rowspan=2| <code>o_FanfareGP1_32</code><br />
|-<br />
| <code>0x68</code><br />
|-<br />
| First place finish fanfare || <code>0x5D</code> || <code>o_FanfareGP1_only32</code><br />
|-<br />
|rowspan=2| Second to fifth place finish fanfare and results || <code>0x5E</code> ||rowspan=2| <code>o_FanfareGP2_32</code><br />
|-<br />
| <code>0x69</code><br />
|-<br />
| Second to fifth place finish fanfare || <code>0x5F</code> || <code>o_FanfareGP2_only32</code><br />
|-<br />
| Sixth to last place finish fanfare and results || <code>0x60</code> || <code>o_FanfareGPdame_32</code><br />
|-<br />
| Sixth to last place finish fanfare || <code>0x61</code> || <code>o_FanfareGPdame_only32</code><br />
|-<br />
| Mission boss win fanfare and results || <code>0x6F</code> || <code>o_FanfareMIWinBoss_32</code><br />
|-<br />
|rowspan=3| Mission lose fanfare and results || <code>0x66</code> ||rowspan=3| <code>o_FanfareMIlose_32</code><br />
|-<br />
| <code>0x6D</code><br />
|-<br />
| <code>0x72</code><br />
|-<br />
| Mission lose results || <code>0x67</code> || <code>o_FanfareMIlose_only32</code><br />
|-<br />
|rowspan=3| Mission win fanfare and results || <code>0x64</code> ||rowspan=3| <code>o_FanfareMIwin_32</code><br />
|-<br />
| <code>0x6C</code><br />
|-<br />
| <code>0x71</code><br />
|-<br />
| Mission win fanfare || <code>0x65</code> || <code>o_FanfareMIwin_only32</code><br />
|-<br />
|rowspan=3| Battle win fanfare and results || <code>0x62</code> ||rowspan=3| <code>o_FanfareTA1st_32</code><br />
|-<br />
| <code>0x6B</code><br />
|-<br />
| <code>0x70</code><br />
|-<br />
| Battle win fanfare || <code>0x63</code> || <code>o_FanfareTA1st_only32</code><br />
|-<br />
| Options || <code>0x53</code> || <code>o_Option_32</code><br />
|-<br />
| Time trial intro fanfare || <code>0x5A</code> || <code>o_Start2_32_fan</code><br />
|-<br />
| Race intro fanfare || <code>0x59</code> || <code>o_Start32_fan</code><br />
|-<br />
| Wi-Fi: live view, ghost replay || <code>0xCF</code> || <code>o_Wi-Fi_waiting32</code><br />
|-<br />
| Trophy presentation, short || <code>0xCC</code> || <code>o_hyousyou_cut</code><br />
|-<br />
| Trophy presentation, lose || <code>0xCD</code> || <code>o_hyousyou_lose</code><br />
|-<br />
| Trophy presentation, normal || <code>0xCB</code> || <code>o_hyousyou_normal</code><br />
|-<br />
| Trophy presentation, main || <code>0xCA</code> || <code>o_hyousyou_winningrun</code><br />
|-<br />
| N64 Mario Raceway (Normal) || <code>0x9F</code> || <code>r_64_Circuit32_n</code><br />
|-<br />
| N64 Mario Raceway (Fast) || <code>0xA0</code> || <code>r_64_Circuit32_f</code><br />
|-<br />
| N64 DK Jungle Parkway (Normal) || <code>0xA1</code> || <code>r_64_Jungle32_n</code><br />
|-<br />
| N64 DK Jungle Parkway (Fast) || <code>0xA2</code> || <code>r_64_Jungle32_f</code><br />
|-<br />
| N64 Bowser's Castle (Normal) || <code>0xA3</code> || <code>r_64_Kuppa32_n</code><br />
|-<br />
| N64 Bowser's Castle (Fast) || <code>0xA4</code> || <code>r_64_Kuppa32_f</code><br />
|-<br />
| N64 Sherbet Land (Normal) || <code>0x9D</code> || <code>r_64_Sherbet32_n</code><br />
|-<br />
| N64 Sherbet Land (Fast) || <code>0x9E</code> || <code>r_64_Sherbet32_f</code><br />
|-<br />
| N64 SkyScraper (Normal) || <code>0xC7</code> || <code>r_64_battle_n</code><br />
|-<br />
| N64 SkyScraper (Fast) || <code>0xC8</code> || <code>r_64_battle_f</code><br />
|-<br />
| GBA Shy Guy Beach (Normal) || <code>0x95</code> || <code>r_AGB_Beach32_n</code><br />
|-<br />
| GBA Shy Guy Beach (Fast) || <code>0x96</code> || <code>r_AGB_Beach32_f</code><br />
|-<br />
| GBA Bowser Castle 3 (Normal) || <code>0x9B</code> || <code>r_AGB_Kuppa32_n</code><br />
|-<br />
| GBA Bowser Castle 3 (Fast) || <code>0x9C</code> || <code>r_AGB_Kuppa32_f</code><br />
|-<br />
| DS Desert Hills (Normal) || <code>0xB1</code> || <code>r_DS_Desert32_n</code><br />
|-<br />
| DS Desert Hills (Fast) || <code>0xB2</code> || <code>r_DS_Desert32_f</code><br />
|-<br />
| DS Peach Garden (Normal) || <code>0xB3</code> || <code>r_DS_Garden32_n</code><br />
|-<br />
| DS Peach Garden (Fast) || <code>0xB4</code> || <code>r_DS_Garden32_f</code><br />
|-<br />
| DS Yoshi Falls (Normal) || <code>0xAD</code> || <code>r_DS_Jungle32_n</code><br />
|-<br />
| DS Yoshi Falls (Fast) || <code>0xAE</code> || <code>r_DS_Jungle32_f</code><br />
|-<br />
| DS Delfino Square (Normal) || <code>0xAF</code> || <code>r_DS_Town32_n</code><br />
|-<br />
| DS Delfino Square (Fast) || <code>0xB0</code> || <code>r_DS_Town32_f</code><br />
|-<br />
| GCN Cookie Land (Normal) || <code>0xBF</code> || <code>r_GC_Battle32_n</code><br />
|-<br />
| GCN Cookie Land (Fast) || <code>0xC0</code> || <code>r_GC_Battle32_f</code><br />
|-<br />
| GCN Peach Beach (Normal) || <code>0xA5</code> || <code>r_GC_Beach32_n</code><br />
|-<br />
| GCN Peach Beach (Fast) || <code>0xA6</code> || <code>r_GC_Beach32_f</code><br />
|-<br />
| GCN Mario Circuit (Normal) || <code>0xA7</code> || <code>r_GC_Circuit32_n</code><br />
|-<br />
| GCN Mario Circuit (Fast) || <code>0xA8</code> || <code>r_GC_Circuit32_f</code><br />
|-<br />
| GCN DK Mountain (Normal) || <code>0xAB</code> || <code>r_GC_Mountain32_n</code><br />
|-<br />
| GCN DK Mountain (Fast) || <code>0xAC</code> || <code>r_GC_Mountain32_f</code><br />
|-<br />
| GCN Waluigi Stadium (Normal) || <code>0xA9</code> || <code>r_GC_Stadium32_n</code><br />
|-<br />
| GCN Waluigi Stadium (Fast) || <code>0xAA</code> || <code>r_GC_Stadium32_f</code><br />
|-<br />
| SNES Mario Circuit 3 (Normal) || <code>0x99</code> || <code>r_SFC_Circuit32_n</code><br />
|-<br />
| SNES Mario Circuit 3 (Fast) || <code>0x9A</code> || <code>r_SFC_Circuit32_f</code><br />
|-<br />
| SNES Ghost Valley 2 (Normal) || <code>0x97</code> || <code>r_SFC_Obake32_n</code><br />
|-<br />
| SNES Ghost Valley 2 (Fast) || <code>0x98</code> || <code>r_SFC_Obake32_f</code><br />
|-<br />
| GBA Battle Course 3 (Normal) || <code>0xC5</code> || <code>r_agb_battle_n</code><br />
|-<br />
| GBA Battle Course 3 (Fast) || <code>0xC6</code> || <code>r_agb_battle_f</code><br />
|-<br />
| DS Twilight House (Normal) || <code>0xC1</code> || <code>r_ds_battle_n</code><br />
|-<br />
| DS Twilight House (Fast) || <code>0xC2</code> || <code>r_ds_battle_f</code><br />
|-<br />
| SNES Battle Course 4 (Normal) || <code>0xC3</code> || <code>r_sfc_battle_n</code><br />
|-<br />
| SNES Battle Course 4 (Fast) || <code>0xC4</code> || <code>r_sfc_battle_f</code><br />
|-<br />
| Unlocked Character/Cup/Kart || <code>0x73</code> || <code>strm_me</code><br />
|}<br />
<br />
== Items ==<br />
<br />
Items as objects on the track are identified by a code number in the game logic and in the network protocol. A different numbering system is used as part of the item box logic and in the user interface, game logic and network protocol for the player items.<br />
<br />
{| class="wikitable sortable"<br />
|+ Item identifiers<br />
! Description !! Item Box Number !! Object Number !! Code Name<br />
|-<br />
| Green Shell || <code>0x00</code> || <code>0x00</code> || <code>kame_green</code><br />
|-<br />
| Red Shell || <code>0x01</code> || <code>0x01</code> || <code>kame_red</code><br />
|-<br />
| Banana || <code>0x02</code> || <code>0x02</code> || <code>banana</code><br />
|-<br />
| Fake Item Box || <code>0x03</code> || <code>0x07</code> || <code>dummybox</code><br />
|-<br />
| Mushroom || <code>0x04</code> || <code>0x03</code> || <code>kinoko</code><br />
|-<br />
| Triple Mushroom || <code>0x05</code> || {{Unknown-left|-}} || <code>kinoko_3</code><br />
|-<br />
| Bob-omb || <code>0x06</code> || <code>0x09</code> || <code>bomb_hei</code><br />
|-<br />
| Blue Shell || <code>0x07</code> || <code>0x05</code> || <code>kame_wing</code><br />
|-<br />
| Lightning || <code>0x08</code> || <code>0x06</code> || <code>thunder</code><br />
|-<br />
| Star || <code>0x09</code> || <code>0x04</code> || <code>star</code><br />
|-<br />
| Golden Mushroom || <code>0x0A</code> || <code>0x0C</code> || <code>GoldenKinoko</code><br />
|-<br />
| Mega Mushroom || <code>0x0B</code> || <code>0x08</code> || <code>kinoko_big</code><br />
|-<br />
| Blooper || <code>0x0C</code> || <code>0x0A</code> || <code>gesso</code><br />
|-<br />
| POW Block || <code>0x0D</code> || <code>0x0B</code> || <code>pow</code><br />
|-<br />
| Cloud || <code>0x0E</code> || <code>0x0E</code> || <code>thunder_c</code><br />
|-<br />
| Bullet Bill || <code>0x0F</code> || <code>0x0D</code> || <code>killer</code><br />
|-<br />
| Triple Green Shell || <code>0x10</code> || {{Unknown-left|-}} || <code>kame_green_3</code><br />
|-<br />
| Triple Red Shell || <code>0x11</code> || {{Unknown-left|-}} || <code>kame_red_3</code><br />
|-<br />
| Triple Banana || <code>0x12</code> || {{Unknown-left|-}} || <code>banana_3</code><br />
|}<br />
<br />
== Objects ==<br />
<br />
Objects in the game world can be spawned at load time. The different types of such objects identified by a 16 bit code number. Please refer to [[Object#Object_Table]] for a list of object identifiers.<br />
<br />
== Languages ==<br />
<br />
At various points in the file system, languages are identified by a unique 1 letter identifier.<br />
<br />
{| class="wikitable sortable"<br />
|+ Language identifiers<br />
! Description !! Code Letter<br />
|-<br />
| Dutch (unused) || <code>N</code><br />
|-<br />
| English PAL || <code>E</code><br />
|-<br />
| French PAL || <code>F</code><br />
|-<br />
| German || <code>G</code><br />
|-<br />
| Italian || <code>I</code><br />
|-<br />
| Japanese || <code>J</code><br />
|-<br />
| Korean || <code>K</code><br />
|-<br />
| Spanish NTSC || <code>M</code><br />
|-<br />
| French NTSC || <code>Q</code><br />
|-<br />
| Spanish PAL || <code>S</code><br />
|-<br />
| English NTSC || <code>U</code><br />
|}<br />
<br />
== Terrain Type ==<br />
<br />
The effect of a collidable surface on a vehicle or item is governed by the [[KCL flag]]. Refer to that article for a list of identifier meanings.<br />
<br />
== User Interface ==<br />
<br />
The user interface code uses code numbers to identify all of the 'menu's and also separately to identify every individual screen within each menu. Except for when on a blank loading screen, the game is always considered to be within a menu. Each menu has a limited number of screens which it can display, possibly overlayed on top of one another. Each menu and screen also has unique code associated with it, which is how the game deduces what files to load for each screen. As such there is no one to one correspondence between code numbers and code names for the user interface.<br />
<br />
=== Menu Identifiers ===<br />
<br />
Menu code numbers seem to heavily reuse screens in order to share code. While each code number does represent a fundamentally different menu, many of them are virtually identical. Some differ only in how they initialise. The 'single player' menu in particular has many different access routes (e.g. from the main menu, from change character in a time trial) and each of these has a different code number. This allows the menu to behave differently (e.g. starting on a different screen).<br />
<br />
{| class="wikitable sortable"<br />
|+ Menu identifiers<br />
! Description !! Code Number !! Referenced Screens<br />
|-<br />
| Power off Wii (as soon as it loads) || <code>0x00</code> || <br />
|-<br />
|rowspan=2| Return to Wii Menu (as soon as it loads) || <code>0x04</code> || <br />
|-<br />
| <code>0x05</code> || <br />
|-<br />
| {{Unknown-left|-}} || <code>0x06</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x07</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x08</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x09</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0A</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0B</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0C</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0D</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0E</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0F</code> || <code>0x00</code><br />
|-<br />
| Creating new save prompt (at boot) || <code>0x10</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x5D</code><br />
|-<br />
| Corrupted save save prompt (at boot) || <code>0x11</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Country changed prompt (at boot) || <code>0x12</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Game cannot be saved error (at boot) || <code>0x13</code> || <code>0x04</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Cannot access system memory error (at boot, softlock) || <code>0x14</code> || <code>0x05</code>, <code>0x5D</code><br />
|-<br />
| Cannot access Mii data error (at boot) || <code>0x15</code> || <code>0x06</code>, <code>0x5D</code><br />
|-<br />
| ESRB notice (at boot, NTSC-U only) || <code>0x16</code> || <code>0x01</code><br />
|-<br />
|rowspan=2| Recommend 60Hz not 50Hz (at boot) || <code>0x17</code> || <code>0x02</code><br />
|-<br />
| <code>0x18</code> || <code>0x02</code><br />
|-<br />
| Panorama at start of Grand Prix || <code>0x19</code> || <code>0x07</code><br />
|-<br />
| Panorama at start of Versus Race || <code>0x1A</code> || <code>0x08</code><br />
|-<br />
| Panorama at start of Balloon Battle || <code>0x1B</code> || <code>0x09</code><br />
|-<br />
| Panorama at start of mission mode boss || <code>0x1C</code> || <code>0x0A</code><br />
|-<br />
| Panorama at start of Competition boss || <code>0x1D</code> || <code>0x0B</code><br />
|-<br />
| Grand Prix gameplay || <code>0x1E</code> || <code>0x0C</code>, <code>0x17</code>, <code>0x20</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Time Trial gameplay || <code>0x1F</code> || <code>0x0D</code>, <code>0x19</code>, <code>0x21</code>, <code>0x29</code>, <code>0x2B</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Single player Versus gameplay || <code>0x20</code> || <code>0x0E</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Two player Versus gameplay || <code>0x21</code> || <code>0x0F</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Three player Versus gameplay || <code>0x22</code> || <code>0x10</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Four player Versus gameplay || <code>0x23</code> || <code>0x11</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Single player Team Versus gameplay || <code>0x24</code> || <code>0x0E</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Two player Team Versus gameplay || <code>0x25</code> || <code>0x0F</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Three player Team Versus gameplay || <code>0x26</code> || <code>0x10</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Four player Team Versus gameplay || <code>0x27</code> || <code>0x11</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Single player Battle gameplay || <code>0x28</code> || <code>0x12</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Two player Battle gameplay || <code>0x29</code> || <code>0x13</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Three player Battle gameplay || <code>0x2A</code> || <code>0x14</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Four player Battle gameplay || <code>0x2B</code> || <code>0x15</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Mission Mode gameplay || <code>0x2C</code> || <code>0x16</code>, <code>0x1B</code>, <code>0x25</code>, <code>0x2C</code>, <code>0x3A</code><br />
|-<br />
| Competition gameplay || <code>0x2D</code> || <code>0x16</code>, <code>0x1B</code>, <code>0x26</code>, <code>0x2A</code>, <code>0x35</code>, <code>0x3A</code><br />
|-<br />
| Grand Prix replay || <code>0x2E</code> || <code>0x2C</code>, <code>0x36</code>, <code>0x38</code>, <code>0x3A</code><br />
|-<br />
| Time Trial instant replay || <code>0x2F</code> || <code>0x21</code>, <code>0x2B</code>, <code>0x37</code>, <code>0x39</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Ghost Race Time Trial gameplay (unused?) || <code>0x30</code> || <code>0x0D</code>, <code>0x1C</code>, <code>0x1D</code>, <code>0x1E</code>, <code>0x27</code>, <code>0x28</code>, <code>0x2C</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code><br />
|-<br />
| Ghost Race Time Trial gameplay || <code>0x31</code> || <code>0x0D</code>, <code>0x1C</code>, <code>0x1D</code>, <code>0x1E</code>, <code>0x27</code>, <code>0x28</code>, <code>0x2C</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code>, <code>0x88</code><br />
|-<br />
| Time Trial watch ghost (from Mario Kart Channel) || <code>0x32</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Time Trial watch ghost (from downloaded ghost data list) || <code>0x33</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Time Trial watch ghost (from single player menu) || <code>0x34</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Award ceremony after Grand Prix || <code>0x35</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| Award ceremony after Versus Race || <code>0x36</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| {{Unknown-left|Probably an award ceremony}} || <code>0x37</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| {{Unknown-left|Probably an award ceremony}} || <code>0x38</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| Credits Part 1 || <code>0x39</code> || <code>0x3D</code><br />
|-<br />
| Credits Part 1 (true end) || <code>0x3A</code> || <code>0x3D</code><br />
|-<br />
| Credits Part 2 || <code>0x3B</code> || <code>0x3D</code>, <code>0x3E</code><br />
|-<br />
| Credits Part 2 (true end) || <code>0x3C</code> || <code>0x3D</code>, <code>0x3E</code><br />
|-<br />
| Congratulations prompt after beating Grand Prix mode || <code>0x3D</code> || <code>0x3F</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x53</code>, <code>0x7F</code><br />
|-<br />
| Congratulations prompt after fully beating Grand Prix mode || <code>0x3E</code> || <code>0x3F</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x53</code>, <code>0x7F</code><br />
|-<br />
| Main Menu (when coming from demo or credits) || <code>0x3F</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming from reset) || <code>0x40</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming back from game menus) || <code>0x41</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming from Mii select for new license) || <code>0x42</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (from somewhere to do with licenses) || <code>0x43</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Demo || <code>0x44</code> || <code>0x3A</code>, <code>0x5F</code><br />
|-<br />
| Mii Select || <code>0x45</code> || <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code><br />
|-<br />
| Mii Select || <code>0x46</code> || <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code><br />
|-<br />
| License Settings || <code>0x47</code> || <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code>, <code>0x67</code>, <code>0x68</code>, <code>0xCE</code>, <code>0xCF</code>, <code>0xD0</code>, <code>0xD1</code>, <code>0xD2</code><br />
|-<br />
| Single Player (coming from Main Menu) || <code>0x48</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Time Trial change character) || <code>0x49</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Time Trial change course) || <code>0x4A</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Versus Race) || <code>0x4B</code> || <code>0x4B</code>, <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Battle) || <code>0x4C</code> || <code>0x4B</code>, <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Mission Mode change mission, softlock) || <code>0x4D</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Mario Kart Channel challenge ghost) || <code>0x4E</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from leaderboard challenge ghost) || <code>0x4F</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from ghost data list challenge ghost) || <code>0x50</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Send Winning Ghost Data to friend (coming from Time Trial) || <code>0x51</code> || <code>0x4F</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB6</code><br />
|-<br />
| Challenge Ghost Data (from Wii menu channel) || <code>0x52</code> || <code>0x4F</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB1</code>, <code>0xB2</code><br />
|-<br />
| Watch Replay (from Wii menu channel) || <code>0x53</code> || <code>0x4F</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB1</code>, <code>0xB2</code><br />
|-<br />
| Local Multiplayer || <code>0x54</code> || <code>0x4B</code>, <code>0x4C</code>, <code>0x4D</code>, <code>0x52</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x61</code>, <code>0x62</code>, <code>0x63</code>, <code>0x64</code>, <code>0x6B</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x80</code>, <code>0x81</code>, <code>0x82</code>, <code>0x83</code><br />
|-<br />
| Single Player Wi-Fi || <code>0x55</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi (from disconnected at globe or friend room) || <code>0x56</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi (from find a friend) || <code>0x57</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi Versus voting || <code>0x58</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Battle voting || <code>0x59</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi select guest Mii || <code>0x5A</code> || <code>0x52</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x61</code>, <code>0x62</code>, <code>0x63</code>, <code>0x64</code>, <code>0x8A</code><br />
|-<br />
| Two Player Wi-Fi || <code>0x5B</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Two Player Wi-Fi (from disconnected at globe or friend room) || <code>0x5C</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x5D</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Two Player Wi-Fi Versus voting || <code>0x5E</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Battle voting || <code>0x5F</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Versus voting || <code>0x60</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Versus voting || <code>0x61</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Battle voting || <code>0x62</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Battle voting || <code>0x63</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Single Player Wi-Fi Friend Room Versus voting round 2+}} || <code>0x64</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Two Player Wi-Fi Friend Room Versus voting round 2+}} || <code>0x65</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Single Player Wi-Fi Friend Room Battle voting round 2+}} || <code>0x66</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Two Player Wi-Fi Friend Room Battle voting round 2+}} || <code>0x67</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Versus gameplay || <code>0x68</code> || <code>0x31</code>, <code>0x3A</code>, <code>0x40</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Versus gameplay || <code>0x69</code> || <code>0x31</code>, <code>0x3A</code>, <code>0x41</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Versus live view || <code>0x6A</code> || <code>0x3A</code>, <code>0x48</code>, <code>0x49</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Versus live view || <code>0x6B</code> || <code>0x3A</code>, <code>0x48</code>, <code>0x49</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Battle gameplay || <code>0x6C</code> || <code>0x12</code>, <code>0x31</code>, <code>0x33</code>, <code>0x3A</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Battle gameplay || <code>0x6D</code> || <code>0x13</code>, <code>0x31</code>, <code>0x33</code>, <code>0x3A</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Battle live view || <code>0x6E</code> || <code>0x33</code>, <code>0x3A</code>, <code>0x48</code>, <code>0x4A</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Battle live view || <code>0x6F</code> || <code>0x33</code>, <code>0x3A</code>, <code>0x48</code>, <code>0x4A</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Versus gameplay || <code>0x70</code> || <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code>, <code>0x42</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Team Versus gameplay || <code>0x71</code> || <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code>, <code>0x42</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Baloon Battle gameplay || <code>0x72</code> || <code>0x12</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Coin Runner gameplay || <code>0x73</code> || <code>0x12</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Versus gameplay || <code>0x74</code> || <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code>, <code>0x43</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Team Versus gameplay || <code>0x75</code> || <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code>, <code>0x43</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Baloon Battle gameplay || <code>0x76</code> || <code>0x13</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Coin Runner gameplay || <code>0x77</code> || <code>0x13</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Wi-Fi disconnected prompt (for error codes?) || <code>0x78</code> || <code>0x5D</code>, <code>0x89</code><br />
|-<br />
| Wi-Fi disconnected prompt (general dc) || <code>0x79</code> || <code>0x5D</code>, <code>0x89</code><br />
|-<br />
| Mario Kart Channel (from main menu) || <code>0x7A</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel (from Time Trial check rankings) || <code>0x7B</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel (from downloaded ghost data list) || <code>0x7C</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel leaderboards || <code>0x7D</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x95</code>, <code>0xA7</code>, <code>0xA8</code>, <code>0xAA</code>, <code>0xAB</code>, <code>0xAC</code>, <code>0xAD</code>, <code>0xAE</code>, <code>0xAF</code><br />
|-<br />
| Mario Kart Channel competition leaderboard || <code>0x7E</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x95</code>, <code>0xA9</code>, <code>0xAA</code>, <code>0xAB</code>, <code>0xAE</code>, <code>0xAF</code>, <code>0xB0</code><br />
|-<br />
| Ghost Race (with ghost data ready) || <code>0x7F</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x9F</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Ghost Race (without ghost data ready) || <code>0x80</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x9F</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Ghost Race next race || <code>0x81</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Downloaded Ghost Data List || <code>0x82</code> || <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB3</code>, <code>0xB4</code>, <code>0xB5</code><br />
|-<br />
| Friends List (from Mario Kart Channel or find friend) || <code>0x83</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8E</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Friends List (from Mario Kart Channel or find friend) || <code>0x84</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8E</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9A</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Competition (from Mario Kart Channel) || <code>0x85</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xB7</code>, <code>0xB8</code>, <code>0xBB</code><br />
|-<br />
| Competition (from change character) || <code>0x86</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xB7</code>, <code>0xB8</code>, <code>0xBB</code><br />
|-<br />
| Competition submit record || <code>0x87</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5E</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0xB9</code><br />
|-<br />
| {{Unknown-left|Competition for Wii Wheels Only (unused?)}} || <code>0x88</code> || <code>0x5B</code>, <code>0xBA</code><br />
|-<br />
| {{Unknown-left|Competition for Wii Wheels Only for bosses? (unused?)}} || <code>0x89</code> || <code>0x5B</code>, <code>0xBA</code><br />
|-<br />
| Invite Friends via Messageboard || <code>0x8A</code> || <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xBD</code>, <code>0xBE</code>, <code>0xBF</code><br />
|-<br />
| Download Latest Data || <code>0x8B</code> || <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xBC</code><br />
|-<br />
| Options (license screen) || <code>0x8C</code> || <code>0x4D</code>, <code>0x4E</code>, <code>0x5D</code>, <code>0xC0</code>, <code>0xC1</code>, <code>0xC2</code>, <code>0xC3</code>, <code>0xC4</code>, <code>0xC5</code>, <code>0xC6</code>, <code>0xC7</code>, <code>0xC8</code>, <code>0xC9</code>, <code>0xCA</code>, <code>0xCB</code>, <code>0xCC</code><br />
|-<br />
| Add Mario Kart Channel || <code>0x8D</code> || <code>0x5D</code>, <code>0xCA</code>, <code>0xCB</code>, <code>0xCC</code><br />
|-<br />
| Choose Region || <code>0x8E</code> || <code>0x5D</code>, <code>0xC5</code>, <code>0xCC</code><br />
|-<br />
| Join Message Service || <code>0x8F</code> || <code>0x4E</code>, <code>0x5D</code>, <code>0xC2</code>, <code>0xC3</code>, <code>0xC6</code>, <code>0xC7</code>, <code>0xC8</code>, <code>0xC9</code>, <code>0xCC</code><br />
|-<br />
| Unlock message (orange) || <code>0x90</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (orange) || <code>0x91</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (blue) || <code>0x92</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (yellow) || <code>0x93</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Debug? Mission mode (broken single player menu) || <code>0x94</code> || <code>0x7A</code>, <code>0x7B</code>, <code>0x7C</code>, <code>0x7D</code>, <code>0x7E</code><br />
|-<br />
| No Game Disc (Wii Menu Channel only) || <code>0x95</code> || {{Unknown-left|Unknown}}<br />
|-<br />
| Could Not Access System Memory (Wii Menu Channel only) || <code>0x96</code> || {{Unknown-left|Unknown}}<br />
|-<br />
| Select License (Wii Menu Channel only) || <code>0x9D</code> || {{Unknown-left|Unknown}}<br />
|-<br />
| Options (Wii Menu Channel only) || <code>0xAA</code> || {{Unknown-left|Unknown}}<br />
|}<br />
<br />
=== Screen Identifiers ===<br />
<br />
Screens typically represent either one visually complete user interface (for example, the character selection interface) or a background element (for example, the borders at the top and bottom of the screen). Up to 10 screens can be overlayed on top of each other by the user interface code. Some screens do not contain any visual elements and instead exist to perform background work (for example, loading ghost data).<br />
<br />
{| class="wikitable sortable"<br />
|+ Screen Identifiers<br />
! Description !! Code Number<br />
|-<br />
| Empty, it seems || <code>0x00</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x01</code><br />
|-<br />
| 60Hz suggestion || <code>0x02</code><br />
|-<br />
| Data corrupt || <code>0x03</code><br />
|-<br />
| Can't save || <code>0x04</code><br />
|-<br />
| System memory corrupt || <code>0x05</code><br />
|-<br />
| Mii Data corrupt || <code>0x06</code><br />
|-<br />
| Grand Prix pan overlay || <code>0x07</code><br />
|-<br />
| VS pan overlay || <code>0x08</code><br />
|-<br />
| Battle pan overlay || <code>0x09</code><br />
|-<br />
| Mission pan overlay || <code>0x0A</code><br />
|-<br />
| Tourney pan overlay || <code>0x0B</code><br />
|-<br />
| GP Race interface || <code>0x0C</code><br />
|-<br />
| TT Race interface || <code>0x0D</code><br />
|-<br />
| 1P VS Race interface || <code>0x0E</code><br />
|-<br />
| 2P VS Race interface || <code>0x0F</code><br />
|-<br />
| 3P VS Race interface || <code>0x10</code><br />
|-<br />
| 4P VS race interface || <code>0x11</code><br />
|-<br />
| 1P Battle interface || <code>0x12</code><br />
|-<br />
| 2P Battle interface || <code>0x13</code><br />
|-<br />
| 3P Battle interface || <code>0x14</code><br />
|-<br />
| 4P Battle interface || <code>0x15</code><br />
|-<br />
| Mission/Tourney interface || <code>0x16</code><br />
|-<br />
| GP pause menu || <code>0x17</code><br />
|-<br />
| VS Race pause menu || <code>0x18</code><br />
|-<br />
| TT Race pause menu || <code>0x19</code><br />
|-<br />
| Battle pause menu || <code>0x1A</code><br />
|-<br />
| Tournament pause menu || <code>0x1B</code><br />
|-<br />
| Ghost Race pause menu || <code>0x1C</code><br />
|-<br />
| Abandon Ghost Race? || <code>0x1D</code><br />
|-<br />
| Quit Ghost Race? || <code>0x1E</code><br />
|-<br />
| Ghost replay pause menu || <code>0x1F</code><br />
|-<br />
| GP end screen (Next race, Watch replay, Quit) || <code>0x20</code><br />
|-<br />
| TT end screen (retry, change course, etc) || <code>0x21</code><br />
|-<br />
| VS end screen (Next race, Quit) || <code>0x22</code><br />
|-<br />
| Battle end screen (Next battle, Quit) || <code>0x23</code><br />
|-<br />
| Battld end screen (Next only, to final results) || <code>0x24</code><br />
|-<br />
| Mission end screen (retry, choose mission, quit. Unused). || <code>0x25</code><br />
|-<br />
| Tourney end screen || <code>0x26</code><br />
|-<br />
| Ghost Race end screen (Next/quit) || <code>0x27</code><br />
|-<br />
| Go to Friend Roster? || <code>0x28</code><br />
|-<br />
| You beat your friend's record! Send your ghost? || <code>0x29</code><br />
|-<br />
| Send tourney record || <code>0x2A</code><br />
|-<br />
| Check rankings? || <code>0x2B</code><br />
|-<br />
| Are you sure you want to quit? || <code>0x2C</code><br />
|-<br />
| Splits after TT || <code>0x2D</code><br />
|-<br />
| Leaderboard after TT || <code>0x2E</code><br />
|-<br />
| GP/VS score update screen || <code>0x2F</code><br />
|-<br />
| GP/VS score overall screen || <code>0x30</code><br />
|-<br />
| Online race point update screen || <code>0x31</code><br />
|-<br />
| Team VS point overall screen || <code>0x32</code><br />
|-<br />
| Battle point update screen || <code>0x33</code><br />
|-<br />
| Battle point overall screen || <code>0x34</code><br />
|-<br />
| Competition personal leaderboard || <code>0x35</code><br />
|-<br />
| Grand Prix replay interface || <code>0x36</code><br />
|-<br />
| Ghost Race interface || <code>0x37</code><br />
|-<br />
| Grand Prix replay pause || <code>0x38</code><br />
|-<br />
| TT Immediate Replay pause || <code>0x39</code><br />
|-<br />
| Supporting panel (Present in many modes in-race, 2nd element) || <code>0x3A</code><br />
|-<br />
| Probably award interface (untested) || <code>0x3B</code><br />
|-<br />
| Probably congrats screen (untested) || <code>0x3C</code><br />
|-<br />
| Credits VS interface (untested) || <code>0x3D</code><br />
|-<br />
| Credits latter interface (untested) || <code>0x3E</code><br />
|-<br />
| Congrats after credits || <code>0x3F</code><br />
|-<br />
| Wi-Fi Race Interface || <code>0x40</code><br />
|-<br />
| 2P Wi-Fi Race Interface || <code>0x41</code><br />
|-<br />
| Wi-Fi Friend Room Race Interface || <code>0x42</code><br />
|-<br />
| Wi-Fi Friend Room Team Race Interface || <code>0x43</code><br />
|-<br />
| Congratuations! at end of friend room (untested) || <code>0x44</code><br />
|-<br />
| Dummy? Seems to immediately load <code>0x46</code> || <code>0x45</code><br />
|-<br />
| Online Race End (next race/quit/friend roster) || <code>0x46</code><br />
|-<br />
| Quit online race? || <code>0x47</code><br />
|-<br />
| Please wait a moment... (end of online race) || <code>0x48</code><br />
|-<br />
| Live VS view interface || <code>0x49</code><br />
|-<br />
| Live battle view interface (untested) || <code>0x4A</code><br />
|-<br />
| Start game okay? || <code>0x4B</code><br />
|-<br />
| Text box with spinner || <code>0x4C</code><br />
|-<br />
| Drift description/Info popup || <code>0x4D</code><br />
|-<br />
| Vote/random selector || <code>0x4E</code><br />
|-<br />
| Reading ghost data/screen with text + spin wait || <code>0x4F</code><br />
|-<br />
| Connecting to Nintendo WFC... || <code>0x50</code><br />
|-<br />
| Generic text box, full screen, press A || <code>0x51</code><br />
|-<br />
| Text box with one prompt (Multiple uses) || <code>0x52</code><br />
|-<br />
| Post photo to messageboard? || <code>0x53</code><br />
|-<br />
| Behind main menu? || <code>0x54</code><br />
|-<br />
| Dummy? Maybe not low battery. Goes to 5A? || <code>0x55</code><br />
|-<br />
| Low battery notification || <code>0x56</code><br />
|-<br />
| Title Screen || <code>0x57</code><br />
|-<br />
| Behind main menu? || <code>0x58</code><br />
|-<br />
| Demo movie || <code>0x59</code><br />
|-<br />
| Main Menu || <code>0x5A</code><br />
|-<br />
| Behind unlocks? || <code>0x5B</code><br />
|-<br />
| Further behind multiplayer menus? || <code>0x5C</code><br />
|-<br />
| Behind disconnects? || <code>0x5D</code><br />
|-<br />
| Behind multiplayer menus? || <code>0x5E</code><br />
|-<br />
| Blinking press A || <code>0x5F</code><br />
|-<br />
| Select Mii || <code>0x60</code><br />
|-<br />
| Active controller display || <code>0x61</code><br />
|-<br />
| Player controller opt in || <code>0x62</code><br />
|-<br />
| Pair Wii Remotes || <code>0x63</code><br />
|-<br />
| Player controller opt in complete (OK/Change) || <code>0x64</code><br />
|-<br />
| License select || <code>0x65</code><br />
|-<br />
| Mii Changed || <code>0x66</code><br />
|-<br />
| License Settings || <code>0x67</code><br />
|-<br />
| Erase license || <code>0x68</code><br />
|-<br />
| Single player menu || <code>0x69</code><br />
|-<br />
| Grand Prix class select || <code>0x6A</code><br />
|-<br />
| character select || <code>0x6B</code><br />
|-<br />
| bike select || <code>0x6C</code><br />
|-<br />
| auto/manual || <code>0x6D</code><br />
|-<br />
| Cup select screen || <code>0x6E</code><br />
|-<br />
| Course select sub screen || <code>0x6F</code><br />
|-<br />
| Select ghost screen || <code>0x70</code><br />
|-<br />
| Select ghost screen || <code>0x71</code><br />
|-<br />
| Select Solo/Team VS || <code>0x72</code><br />
|-<br />
| Select Race Rules || <code>0x73</code><br />
|-<br />
| Play with these teams || <code>0x74</code><br />
|-<br />
| Select Battle Mode || <code>0x75</code><br />
|-<br />
| Select Vehicle (Battle) || <code>0x76</code><br />
|-<br />
| Select Battle Rules || <code>0x77</code><br />
|-<br />
| Select Battle Cup || <code>0x78</code><br />
|-<br />
| Select Battle Course || <code>0x79</code><br />
|-<br />
| Mysterious screen with 8 buttons on the left (Unused mission mode) || <code>0x7A</code><br />
|-<br />
| Mysterious screen with 8 long buttons on the right || <code>0x7B</code><br />
|-<br />
| Messagebox with two buttons below || <code>0x7C</code><br />
|-<br />
| "Drift Mode" Huge box with only one drift choice! || <code>0x7D</code><br />
|-<br />
| Single text box with a picture below. || <code>0x7E</code><br />
|-<br />
| {{Unknown-left|Present on single player menus}} || <code>0x7F</code><br />
|-<br />
| Select VS/Battle (multiplayer) || <code>0x80</code><br />
|-<br />
| Multiplayer vehicle select || <code>0x81</code><br />
|-<br />
| Multiplayer drift select || <code>0x82</code><br />
|-<br />
| Multiplayer team select || <code>0x83</code><br />
|-<br />
| part of connecting...? || <code>0x84</code><br />
|-<br />
| WFC first play || <code>0x85</code><br />
|-<br />
| Allow data to be sent? || <code>0x86</code><br />
|-<br />
| Disconnects you || <code>0x87</code><br />
|-<br />
| Seems to draw behind online races (panel 2) || <code>0x88</code><br />
|-<br />
| Error connecting to WFC || <code>0x89</code><br />
|-<br />
| Dummy? Seems to redirect to <code>0x52</code>. || <code>0x8A</code><br />
|-<br />
| WW/Regional/Friends || <code>0x8B</code><br />
|-<br />
| WW VS/Battle Select || <code>0x8C</code><br />
|-<br />
| Friends Menu || <code>0x8D</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x8E</code><br />
|-<br />
| Loads Char Select || <code>0x8F</code><br />
|-<br />
| Timer || <code>0x90</code><br />
|-<br />
| VR screen || <code>0x91</code><br />
|-<br />
| All course votes || <code>0x92</code><br />
|-<br />
| Present in live view? || <code>0x93</code><br />
|-<br />
| Present in online race? || <code>0x94</code><br />
|-<br />
| Present in online menus? || <code>0x95</code><br />
|-<br />
| Friend Roster || <code>0x96</code><br />
|-<br />
| Not Friends Yet || <code>0x97</code><br />
|-<br />
| Remove Friend Code || <code>0x98</code><br />
|-<br />
| Removing Friend Code... || <code>0x99</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x9A</code><br />
|-<br />
| Present in online menus? || <code>0x9B</code><br />
|-<br />
| Dummy? Loads <code>0x9D</code> || <code>0x9C</code><br />
|-<br />
| Friend Room! || <code>0x9D</code><br />
|-<br />
| Friend Room messages || <code>0x9E</code><br />
|-<br />
| Dummy? Loads <code>0xA6</code> || <code>0xA5</code><br />
|-<br />
| Enter FC || <code>0xA6</code><br />
|-<br />
| Resides behind many TT modes. || <code>0xA7</code><br />
|-<br />
| Mario Kart Channel ghost histogram screen || <code>0xA8</code><br />
|-<br />
| Mario Kart Channel behind <code>0xAD</code> || <code>0xAC</code><br />
|-<br />
| Mario Kart Channel with a selected ghost (challenge/watch) || <code>0xAD</code><br />
|-<br />
| Competition for Wii Wheels only || <code>0xBA</code><br />
|-<br />
| Options || <code>0xC0</code><br />
|-<br />
| Nintendo Wi-Fi Connection options || <code>0xC1</code><br />
|-<br />
| Information box with "Next", can chain to self || <code>0xC2</code><br />
|-<br />
| Information box with 2 buttons prompt. || <code>0xC3</code><br />
|-<br />
| Information box with 3 prompts. (???) || <code>0xC4</code><br />
|-<br />
| Return to system menu to set region? || <code>0xC5</code><br />
|-<br />
| Flag/Region Display || <code>0xC6</code><br />
|-<br />
| Large info box with spinner || <code>0xC7</code><br />
|-<br />
| Large info box with A prompt || <code>0xC8</code><br />
|-<br />
| Info box with OK prompt || <code>0xC9</code><br />
|-<br />
| Add Mario Kart Channel || <code>0xCA</code><br />
|-<br />
| Add Mario Kart Channel prompt || <code>0xCB</code><br />
|-<br />
| Draws beneath Options menu || <code>0xCC</code><br />
|-<br />
| Overall Records || <code>0xCE</code><br />
|-<br />
| Favourites || <code>0xCF</code><br />
|-<br />
| Friend Records || <code>0xD0</code><br />
|-<br />
| WFC Records || <code>0xD1</code><br />
|-<br />
| Other Records || <code>0xD2</code><br />
|}<br />
<br />
=== Text ===<br />
<br />
All text displayed as part of the user interface is referred to by a 16 bit code number. This is used to lookup the message in [[BMG]] files. A list of all code numbers and corresponding text can be found at [https://szs.wiimm.de/download/bmg/ wiimm.de].<br />
<br />
[[Category:Technical Information]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=List_of_Identifiers&diff=134786List of Identifiers2018-05-09T17:24:42Z<p>Chadderz: /* Menu Identifiers */ Thoughts from Bean</p>
<hr />
<div>{{Under-construction}}<br />
An '''Identifier''' (ID) is a way of referring to something. Computer programs like [[Mario Kart Wii]] commonly use numbers or code names for identifiers which do not necessarily match what users would commonly use. This article lists known identifiers for various parts of Mario Kart Wii.<br />
<br />
== Courses ==<br />
''Main Articles: [[Slot]] and [[Filesystem/Race/Course]]''<br />
<br />
Identifiers for the courses are in a common pool. This is shared between the battle, race, competition and cinematic courses and also the online voting identifiers.<br />
<br />
The code numbers are used exclusively by the user interface and online networking and the code name is only used when constructing a file name within the [[Filesystem/Race/Course|/Race/Course]] directory. Consequently there exists tables in the memory to convert from code numbers to code names.<br />
<br />
{| class="wikitable sortable"<br />
|+ Course identifiers<br />
! Wiiki ID !! Description !! Code Number !! Code Name<br />
|-<br />
| T11<br />
| Luigi Circuit<br />
| <code>0x08</code><br />
| <code>beginner_course</code><br />
|-<br />
| T12<br />
| Moo Moo Meadows<br />
| <code>0x01</code><br />
| <code>farm_course</code><br />
|-<br />
| T13<br />
| Mushroom Gorge<br />
| <code>0x02</code><br />
| <code>kinoko_course</code><br />
|-<br />
| T14<br />
| Toad's Factory<br />
| <code>0x04</code><br />
| <code>factory_course</code><br />
|-<br />
| T21<br />
| Mario Circuit<br />
| <code>0x00</code><br />
| <code>castle_course</code><br />
|-<br />
| T22<br />
| Coconut Mall<br />
| <code>0x05</code><br />
| <code>shopping_course</code><br />
|-<br />
| T23<br />
| DK Summit/DK Snowboard Cross<br />
| <code>0x06</code><br />
| <code>boardcross_course</code><br />
|-<br />
| T24<br />
| Wario's Gold Mine<br />
| <code>0x07</code><br />
| <code>truck_course</code><br />
|-<br />
| T31<br />
| Daisy Circuit<br />
| <code>0x09</code><br />
| <code>senior_course</code><br />
|-<br />
| T32<br />
| Koopa Cape<br />
| <code>0x0F</code><br />
| <code>water_course</code><br />
|-<br />
| T33<br />
| Maple Treeway<br />
| <code>0x0B</code><br />
| <code>treehouse_course</code><br />
|-<br />
| T34<br />
| Grumble Volcano<br />
| <code>0x03</code><br />
| <code>volcano_course</code><br />
|-<br />
| T41<br />
| Dry Dry Ruins<br />
| <code>0x0E</code><br />
| <code>desert_course</code><br />
|-<br />
| T42<br />
| Moonview Highway<br />
| <code>0x0A</code><br />
| <code>ridgehighway_course</code><br />
|-<br />
| T43<br />
| Bowser's Castle<br />
| <code>0x0C</code><br />
| <code>koopa_course</code><br />
|-<br />
| T44<br />
| Rainbow Road<br />
| <code>0x0D</code><br />
| <code>rainbow_course</code><br />
|-<br />
| T51<br />
| GCN Peach Beach<br />
| <code>0x10</code><br />
| <code>old_peach_gc</code><br />
|-<br />
| T52<br />
| DS Yoshi Falls<br />
| <code>0x14</code><br />
| <code>old_falls_ds</code><br />
|-<br />
| T53<br />
| SNES Ghost Valley 2<br />
| <code>0x19</code><br />
| <code>old_obake_sfc</code><br />
|-<br />
| T54<br />
| N64 Mario Raceway<br />
| <code>0x1A</code><br />
| <code>old_mario_64</code><br />
|-<br />
| T61<br />
| N64 Sherbet Land<br />
| <code>0x1B</code><br />
| <code>old_sherbet_64</code><br />
|-<br />
| T62<br />
| GBA Shy Guy Beach<br />
| <code>0x1F</code><br />
| <code>old_heyho_gba</code><br />
|-<br />
| T63<br />
| DS Delfino Square<br />
| <code>0x17</code><br />
| <code>old_town_ds</code><br />
|-<br />
| T64<br />
| GCN Waluigi Stadium<br />
| <code>0x12</code><br />
| <code>old_waluigi_gc</code><br />
|-<br />
| T71<br />
| DS Desert Hills<br />
| <code>0x15</code><br />
| <code>old_desert_ds</code><br />
|-<br />
| T72<br />
| GBA Bowser Castle 3<br />
| <code>0x1E</code><br />
| <code>old_koopa_gba</code><br />
|-<br />
| T73<br />
| N64 DK's Jungle Parkway<br />
| <code>0x1D</code><br />
| <code>old_donkey_64</code><br />
|-<br />
| T74<br />
| GCN Mario Circuit<br />
| <code>0x11</code><br />
| <code>old_mario_gc</code><br />
|-<br />
| T81<br />
| SNES Mario Circuit 3<br />
| <code>0x18</code><br />
| <code>old_mario_sfc</code><br />
|-<br />
| T82<br />
| DS Peach Gardens<br />
| <code>0x16</code><br />
| <code>old_garden_ds</code><br />
|-<br />
| T83<br />
| GCN DK Mountain<br />
| <code>0x13</code><br />
| <code>old_donkey_gc</code><br />
|-<br />
| T84<br />
| N64 Bowser's Castle<br />
| <code>0x1C</code><br />
| <code>old_koopa_64</code><br />
|-<br />
| A11<br />
| Block Plaza<br />
| <code>0x21</code><br />
| <code>block_battle</code><br />
|-<br />
| A12<br />
| Delfino Pier<br />
| <code>0x20</code><br />
| <code>venice_battle</code><br />
|-<br />
| A13<br />
| Funky Stadium<br />
| <code>0x23</code><br />
| <code>skate_battle</code><br />
|-<br />
| A14<br />
| Chain Chomp Wheel/Chain Chomp Roulette<br />
| <code>0x22</code><br />
| <code>casino_battle</code><br />
|-<br />
| A15<br />
| Thwomp Desert<br />
| <code>0x24</code><br />
| <code>sand_battle</code><br />
|-<br />
| A21<br />
| SNES Battle Course 4<br />
| <code>0x27</code><br />
| <code>old_battle4_sfc</code><br />
|-<br />
| A22<br />
| GBA Battle Course 3<br />
| <code>0x28</code><br />
| <code>old_battle3_gba</code><br />
|-<br />
| A23<br />
| N64 Skyscraper<br />
| <code>0x29</code><br />
| <code>old_matenro_64</code><br />
|-<br />
| A24<br />
| GCN Cookie Land<br />
| <code>0x25</code><br />
| <code>old_CookieLand_gc</code><br />
|-<br />
| A25<br />
| DS Twilight House<br />
| <code>0x26</code><br />
| <code>old_House_ds</code><br />
|-<br />
| WIN<br />
| Winning scene<br />
| <code>0x37</code><br />
| <code>winningrun_demo</code><br />
|-<br />
| LOS<br />
| Losing scene<br />
| <code>0x38</code><br />
| <code>loser_demo</code><br />
|-<br />
| END<br />
| Luigi Circuit (credits)<br />
| <code>0x3A</code><br />
| <code>ending_demo</code><br />
|-<br />
| MAR<br />
| GCN Mario Circuit (not used, direct port)<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_b</code><br />
|-<br />
| RNG<br />
| Galaxy Colosseum (was used in a tournament)<br />
| <code>0x36</code><br />
| <code>ring_mission</code><br />
|-<br />
| DRW<br />
| Broken version of loser_demo (not used, old [[BRRES]] format)<br />
| <code>0x39</code><br />
| <code>draw_demo</code><br />
|-<br />
| HAY<br />
|rowspan=3| GCN Mario Circuit (not used, old [[BRRES]] format)<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_hayasi</code><br />
|-<br />
| NAR<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_narita</code><br />
|-<br />
| YAB<br />
| {{Unknown-left|-}}<br />
| <code>old_mario_gc_yabuki</code><br />
|-<br />
| {{Unknown-left|-}}<br />
| Used in online voting.<br />
| <code>0x42</code><br />
| {{Unknown-left|-}}<br />
|-<br />
| {{Unknown-left|-}}<br />
| Used in online voting.<br />
| <code>0x43</code><br />
| {{Unknown-left|-}}<br />
|-<br />
| {{Unknown-left|-}}<br />
| Used to represent Random in online voting.<br />
| <code>0xFF</code><br />
| {{Unknown-left|-}}<br />
|}<br />
<br />
== Cups ==<br />
<br />
Both battle and race cups are identified numerically in user interface code by a simple left to right, top to bottom numbering from 0. These numerical identifiers are only used internally by the user interfaces. The user interfaces do however load specific video files by name, allowing us to deduce the code name for the cups.<br />
<br />
{| class="wikitable sortable"<br />
|+ Cup identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Mushroom || <code>0</code> || <code>kinoko</code><br />
|-<br />
| Flower || <code>1</code> || <code>flower</code><br />
|-<br />
| Star || <code>2</code> || <code>star</code><br />
|-<br />
| Special || <code>3</code> || <code>special</code><br />
|-<br />
| Shell || <code>4</code> || <code>koura</code><br />
|-<br />
| Banana || <code>5</code> || <code>banana</code><br />
|-<br />
| Leaf || <code>6</code> || <code>konoha</code><br />
|-<br />
| Lightning || <code>7</code> || <code>lightning</code><br />
|-<br />
| Wii Battle || <code>0</code> || <code>battle_wii</code><br />
|-<br />
| Retro Battle || <code>1</code> || <code>battle_retro</code><br />
|}<br />
<br />
== Characters ==<br />
<br />
All in-game characters are identified by a code number in the user interface and in the online messaging format. This is converted to a short code name when forming a file name to access the [[Filesystem/Race/Kart|/Race/Kart]] and [[Filesystem/Scene/Model/Kart|/Scene/Model/Kart]] directories.<br />
<br />
{| class="wikitable sortable"<br />
|+ Character identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Mario || <code>0x00</code> || <code>mr</code><br />
|-<br />
| Baby Peach || <code>0x01</code> || <code>bpc</code><br />
|-<br />
| Waluigi || <code>0x02</code> || <code>wl</code><br />
|-<br />
| Bowser || <code>0x03</code> || <code>kp</code><br />
|-<br />
| Baby Daisy || <code>0x04</code> || <code>bds</code><br />
|-<br />
| Dry Bones || <code>0x05</code> || <code>ka</code><br />
|-<br />
| Baby Mario || <code>0x06</code> || <code>bmr</code><br />
|-<br />
| Luigi || <code>0x07</code> || <code>lg</code><br />
|-<br />
| Toad || <code>0x08</code> || <code>ko</code><br />
|-<br />
| Donkey Kong || <code>0x09</code> || <code>dk</code><br />
|-<br />
| Yoshi || <code>0x0A</code> || <code>ys</code><br />
|-<br />
| Wario || <code>0x0B</code> || <code>wr</code><br />
|-<br />
| Baby Luigi || <code>0x0C</code> || <code>blg</code><br />
|-<br />
| Toadette || <code>0x0D</code> || <code>kk</code><br />
|-<br />
| Koopa Troopa || <code>0x0E</code> || <code>nk</code><br />
|-<br />
| Daisy || <code>0x0F</code> || <code>ds</code><br />
|-<br />
| Peach || <code>0x10</code> || <code>pc</code><br />
|-<br />
| Birdo || <code>0x11</code> || <code>ca</code><br />
|-<br />
| Diddy Kong || <code>0x12</code> || <code>dd</code><br />
|-<br />
| King Boo || <code>0x13</code> || <code>kt</code><br />
|-<br />
| Bowser Jr. || <code>0x14</code> || <code>jr</code><br />
|-<br />
| Dry Bowser || <code>0x15</code> || <code>bk</code><br />
|-<br />
| Funky Kong || <code>0x16</code> || <code>fk</code><br />
|-<br />
| Rosalina || <code>0x17</code> || <code>rs</code><br />
|-<br />
| Small Mii Outfit A (Male) || <code>0x18</code> || <code>sa_mii_m</code><br />
|-<br />
| Small Mii Outfit A (Female) || <code>0x19</code> || <code>sa_mii_f</code><br />
|-<br />
| Small Mii Outfit B (Male) || <code>0x1A</code> || <code>sb_mii_m</code><br />
|-<br />
| Small Mii Outfit B (Female) || <code>0x1B</code> || <code>sb_mii_f</code><br />
|-<br />
| Small Mii Outfit C (Male) || <code>0x1C</code> || <code>sc_mii_m</code><br />
|-<br />
| Small Mii Outfit C (Female) || <code>0x1D</code> || <code>sc_mii_f</code><br />
|-<br />
| Medium Mii Outfit A (Male) || <code>0x1E</code> || <code>ma_mii_m</code><br />
|-<br />
| Medium Mii Outfit A (Female) || <code>0x1F</code> || <code>ma_mii_f</code><br />
|-<br />
| Medium Mii Outfit B (Male) || <code>0x20</code> || <code>mb_mii_m</code><br />
|-<br />
| Medium Mii Outfit B (Female) || <code>0x21</code> || <code>mb_mii_f</code><br />
|-<br />
| Medium Mii Outfit C (Male) || <code>0x22</code> || <code>mc_mii_m</code><br />
|-<br />
| Medium Mii Outfit C (Female) || <code>0x23</code> || <code>mc_mii_f</code><br />
|-<br />
| Large Mii Outfit A (Male) || <code>0x24</code> || <code>ma_mii_m</code><br />
|-<br />
| Large Mii Outfit A (Female) || <code>0x25</code> || <code>ma_mii_f</code><br />
|-<br />
| Large Mii Outfit B (Male) || <code>0x26</code> || <code>mb_mii_m</code><br />
|-<br />
| Large Mii Outfit B (Female) || <code>0x27</code> || <code>mb_mii_f</code><br />
|-<br />
| Large Mii Outfit C (Male) || <code>0x28</code> || <code>mc_mii_m</code><br />
|-<br />
| Large Mii Outfit C (Female) || <code>0x29</code> || <code>mc_mii_f</code><br />
|-<br />
| Medium Mii || <code>0x2A</code> || <code>m_mii</code><br />
|-<br />
| Small Mii || <code>0x2B</code> || <code>s_mii</code><br />
|-<br />
| Large Mii || <code>0x2C</code> || <code>l_mii</code><br />
|-<br />
| Peach Biker Outfit || <code>0x2D</code> || <code>pc_menu</code><br />
|-<br />
| Daisy Biker Outfit || <code>0x2E</code> || <code>ds_menu</code><br />
|-<br />
| Rosalina Biker Outfit || <code>0x2F</code> || <code>rs_menu</code><br />
|}<br />
<br />
== Vehicles ==<br />
<br />
All vehicles are identified by a code number in the user interface and in the online messaging format. This is converted to a short code name when forming a file name to access the [[Filesystem/Race/Kart|/Race/Kart]] directory.<br />
<br />
{| class="wikitable sortable"<br />
|+ Vehicle identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Standard Kart S || <code>0x00</code> || <code>sdf_kart</code><br />
|-<br />
| Standard Kart M || <code>0x01</code> || <code>mdf_kart</code><br />
|-<br />
| Standard Kart L || <code>0x02</code> || <code>ldf_kart</code><br />
|-<br />
| Booster Seat || <code>0x03</code> || <code>sa_kart</code><br />
|-<br />
| Classic Dragster || <code>0x04</code> || <code>ma_kart</code><br />
|-<br />
| Offroader || <code>0x05</code> || <code>la_kart</code><br />
|-<br />
| Mini Beast || <code>0x06</code> || <code>sb_kart</code><br />
|-<br />
| Wild Wing || <code>0x07</code> || <code>mb_kart</code><br />
|-<br />
| Flame Flyer || <code>0x08</code> || <code>lb_kart</code><br />
|-<br />
| Cheep Charger || <code>0x09</code> || <code>sc_kart</code><br />
|-<br />
| Super Blooper || <code>0x0A</code> || <code>mc_kart</code><br />
|-<br />
| Piranha Prowler || <code>0x0B</code> || <code>lc_kart</code><br />
|-<br />
| Tiny Titan || <code>0x0C</code> || <code>sd_kart</code><br />
|-<br />
| Daytripper || <code>0x0D</code> || <code>md_kart</code><br />
|-<br />
| Jetsetter || <code>0x0E</code> || <code>ld_kart</code><br />
|-<br />
| Blue Falcon || <code>0x0F</code> || <code>se_kart</code><br />
|-<br />
| Sprinter || <code>0x10</code> || <code>me_kart</code><br />
|-<br />
| Honeycoupe || <code>0x11</code> || <code>le_kart</code><br />
|-<br />
| Standard Bike S || <code>0x12</code> || <code>sdf_bike</code><br />
|-<br />
| Standard Bike M || <code>0x13</code> || <code>mdf_bike</code><br />
|-<br />
| Standard Bike L || <code>0x14</code> || <code>ldf_bike</code><br />
|-<br />
| Bullet Bike || <code>0x15</code> || <code>sa_bike</code><br />
|-<br />
| Mach Bike || <code>0x16</code> || <code>ma_bike</code><br />
|-<br />
| Flame Runner || <code>0x17</code> || <code>la_bike</code><br />
|-<br />
| Bit Bike || <code>0x18</code> || <code>sb_bike</code><br />
|-<br />
| Sugarscoot || <code>0x19</code> || <code>mb_bike</code><br />
|-<br />
| Wario Bike || <code>0x1A</code> || <code>lb_bike</code><br />
|-<br />
| Quacker || <code>0x1B</code> || <code>sc_bike</code><br />
|-<br />
| Zip Zip || <code>0x1C</code> || <code>mc_bike</code><br />
|-<br />
| Shooting Star || <code>0x1D</code> || <code>lc_bike</code><br />
|-<br />
| Magikruiser || <code>0x1E</code> || <code>sd_bike</code><br />
|-<br />
| Sneakster || <code>0x1F</code> || <code>md_bike</code><br />
|-<br />
| Spear || <code>0x20</code> || <code>ld_bike</code><br />
|-<br />
| Jet Bubble || <code>0x21</code> || <code>se_bike</code><br />
|-<br />
| Dolphin Dasher || <code>0x22</code> || <code>me_bike</code><br />
|-<br />
| Phantom || <code>0x23</code> || <code>le_bike</code><br />
|}<br />
<br />
== Background Music ==<br />
<br />
Background Music in the game is referenced by a code number in the user interface logic. This is then translated into a code name in order to access the [[Filesystem/sound/strm|/sound/strm]] directory.<br />
<br />
{| class="wikitable sortable"<br />
|+ Background music identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Dry Dry Ruins (Normal) || <code>0x89</code> || <code>STRM_N_DESERT_N</code><br />
|-<br />
| Dry Dry Ruins (Fast) || <code>0x8A</code> || <code>STRM_N_DESERT_F</code><br />
|-<br />
| Toad's Factory (Normal) || <code>0x7B</code> || <code>STRM_N_FACTORY_N</code><br />
|-<br />
| Toad's Factory (Fast) || <code>0x7C</code> || <code>STRM_N_FACTORY_F</code><br />
|-<br />
| Bowser's Castle (Normal) || <code>0x91</code> || <code>STRM_N_KOOPA_N</code><br />
|-<br />
| Bowser's Castle (Fast) || <code>0x92</code> || <code>STRM_N_KOOPA_F</code><br />
|-<br />
| Moonview Highway (Normal) || <code>0x8D</code> || <code>STRM_N_RIDGEHIGHWAY_N</code><br />
|-<br />
| Moonview Highway (Fast) || <code>0x8E</code> || <code>STRM_N_RIDGEHIGHWAY_F</code><br />
|-<br />
| Wario's Goldmine (Normal) || <code>0x83</code> || <code>STRM_N_TRUCK_N</code><br />
|-<br />
| Wario's Goldmine (Fast) || <code>0x84</code> || <code>STRM_N_TRUCK_F</code><br />
|-<br />
| Koopa Cape (Normal) || <code>0x85</code> || <code>STRM_N_WATER_N</code><br />
|-<br />
| Koopa Cape (Fast) || <code>0x86</code> || <code>STRM_N_WATER_F</code><br />
|-<br />
| Galaxy Colosseum || <code>0xC9</code> || <code>n_BossMI_32</code><br />
|-<br />
| Luigi Circuit (Normal) || <code>0x75</code> || <code>n_Circuit32_n</code><br />
|-<br />
| Luigi Circuit (Fast) || <code>0x76</code> || <code>n_Circuit32_f</code><br />
|-<br />
| Mario Circuit (Normal) || <code>0x7D</code> || <code>n_Circuit32_n</code><br />
|-<br />
| Mario Circuit (Fast) || <code>0x7E</code> || <code>n_Circuit32_f</code><br />
|-<br />
| Daisy Circuit (Normal) || <code>0x87</code> || <code>n_Daisy32_n</code><br />
|-<br />
| Daisy Circuit (Fast) || <code>0x88</code> || <code>n_Daisy32_f</code><br />
|-<br />
| Moo Moo Meadows (Normal) || <code>0x77</code> || <code>n_Farm_n</code><br />
|-<br />
| Moo Moo Meadows (Fast) || <code>0x78</code> || <code>n_Farm_f</code><br />
|-<br />
| Mushroom Gorge (Normal) || <code>0x79</code> || <code>n_Kinoko_n</code><br />
|-<br />
| Mushroom Gorge (Fast) || <code>0x7A</code> || <code>n_Kinoko_f</code><br />
|-<br />
| Rainbow Road (Normal) || <code>0x93</code> || <code>n_Rainbow32_n</code><br />
|-<br />
| Rainbow Road (Fast) || <code>0x94</code> || <code>n_Rainbow32_f</code><br />
|-<br />
| Coconut Mall (Normal) || <code>0x7F</code> || <code>n_Shopping32_n</code><br />
|-<br />
| Coconut Mall (Fast) || <code>0x80</code> || <code>n_Shopping32_f</code><br />
|-<br />
| DK Summit (Normal) || <code>0x81</code> || <code>n_Snowboard32_n</code><br />
|-<br />
| DK Summit (Fast) || <code>0x82</code> || <code>n_Snowboard32_f</code><br />
|-<br />
| Grumble Volcano (Normal) || <code>0x8B</code> || <code>n_Volcano32_n</code><br />
|-<br />
| Grumble Volcano (Fast) || <code>0x8C</code> || <code>n_Volcano32_f</code><br />
|-<br />
| Block Plaza (Normal) || <code>0xB7</code> || <code>n_block_n</code><br />
|-<br />
| Block Plaza (Fast) || <code>0xB8</code> || <code>n_block_f</code><br />
|-<br />
| Chain Chomp Wheel (Normal) || <code>0xBB</code> || <code>n_casino_n</code><br />
|-<br />
| Chain Chomp Wheel (Fast) || <code>0xBC</code> || <code>n_casino_f</code><br />
|-<br />
| Maple Treeway (Normal) || <code>0x8F</code> || <code>n_maple_n</code><br />
|-<br />
| Maple Treeway (Fast) || <code>0x90</code> || <code>n_maple_f</code><br />
|-<br />
| Thwomp Desert (Normal) || <code>0xBD</code> || <code>n_ryuusa_n</code><br />
|-<br />
| Thwomp Desert (Fast) || <code>0xBE</code> || <code>n_ryuusa_f</code><br />
|-<br />
| Funky Stadium (Normal) || <code>0xB9</code> || <code>n_skate_n</code><br />
|-<br />
| Funky Stadium (Fast) || <code>0xBA</code> || <code>n_skate_f</code><br />
|-<br />
| Delfino Pier (Normal) || <code>0xB5</code> || <code>n_venice_n</code><br />
|-<br />
| Delfino Pier (Fast) || <code>0xB6</code> || <code>n_venice_f</code><br />
|-<br />
| Race intro || <code>0x56</code> || <code>o_Crs_In_Fan</code><br />
|-<br />
| Wi-Fi race intro || <code>0x5B</code> || <code>o_Crs_In_Fan_Wifi</code><br />
|-<br />
| Battle intro || <code>0x57</code> || <code>o_Crs_In_Fan_battle</code><br />
|-<br />
| Mission intro || <code>0x58</code> || <code>o_Crs_In_Fan_mission</code><br />
|-<br />
| Ending theme (credits) || <code>0xCE</code> || <code>o_Ending_PartA_32</code><br />
|-<br />
| Battle results: draw || <code>0x6E</code> || <code>o_FanfareBTdraw_32</code><br />
|-<br />
| First place finish fanfare and results || <code>0x5C, 0x68</code> || <code>o_FanfareGP1_32</code><br />
|-<br />
| First place finish fanfare || <code>0x5D</code> || <code>o_FanfareGP1_only32</code><br />
|-<br />
| Second to fifth place finish fanfare and results || <code>0x5E, 0x69</code> || <code>o_FanfareGP2_32</code><br />
|-<br />
| Second to fifth place finish fanfare || <code>0x5F</code> || <code>o_FanfareGP2_only32</code><br />
|-<br />
| Sixth to last place finish fanfare and results || <code>0x60</code> || <code>o_FanfareGPdame_32</code><br />
|-<br />
| Sixth to last place finish fanfare || <code>0x61</code> || <code>o_FanfareGPdame_only32</code><br />
|-<br />
| Mission boss win fanfare and results || <code>0x6F</code> || <code>o_FanfareMIWinBoss_32</code><br />
|-<br />
| Mission lose fanfare and results || <code>0x66, 0x6D, 0x72</code> || <code>o_FanfareMIlose_32</code><br />
|-<br />
| Mission lose results || <code>0x67</code> || <code>o_FanfareMIlose_only32</code><br />
|-<br />
| Mission win fanfare and results || <code>0x64, 0x6C, 0x71</code> || <code>o_FanfareMIwin_32</code><br />
|-<br />
| Mission win fanfare || <code>0x65</code> || <code>o_FanfareMIwin_only32</code><br />
|-<br />
| Battle win fanfare and results || <code>0x62, 0x6B, 0x70</code> || <code>o_FanfareTA1st_32</code><br />
|-<br />
| Battle win fanfare || <code>0x63</code> || <code>o_FanfareTA1st_only32</code><br />
|-<br />
| Options || <code>0x53</code> || <code>o_Option_32</code><br />
|-<br />
| Time trial intro fanfare || <code>0x5A</code> || <code>o_Start2_32_fan</code><br />
|-<br />
| Race intro fanfare || <code>0x59</code> || <code>o_Start32_fan</code><br />
|-<br />
| Wi-Fi: live view, ghost replay || <code>0xCF</code> || <code>o_Wi-Fi_waiting32</code><br />
|-<br />
| Trophy presentation, short || <code>0xCC</code> || <code>o_hyousyou_cut</code><br />
|-<br />
| Trophy presentation, lose || <code>0xCD</code> || <code>o_hyousyou_lose</code><br />
|-<br />
| Trophy presentation, normal || <code>0xCB</code> || <code>o_hyousyou_normal</code><br />
|-<br />
| Trophy presentation, main || <code>0xCA</code> || <code>o_hyousyou_winningrun</code><br />
|-<br />
| N64 Mario Raceway (Normal) || <code>0x9F</code> || <code>r_64_Circuit32_n</code><br />
|-<br />
| N64 Mario Raceway (Fast) || <code>0xA0</code> || <code>r_64_Circuit32_f</code><br />
|-<br />
| N64 DK Jungle Parkway (Normal) || <code>0xA1</code> || <code>r_64_Jungle32_n</code><br />
|-<br />
| N64 DK Jungle Parkway (Fast) || <code>0xA2</code> || <code>r_64_Jungle32_f</code><br />
|-<br />
| N64 Bowser's Castle (Normal) || <code>0xA3</code> || <code>r_64_Kuppa32_n</code><br />
|-<br />
| N64 Bowser's Castle (Fast) || <code>0xA4</code> || <code>r_64_Kuppa32_f</code><br />
|-<br />
| N64 Sherbet Land (Normal) || <code>0x9D</code> || <code>r_64_Sherbet32_n</code><br />
|-<br />
| N64 Sherbet Land (Fast) || <code>0x9E</code> || <code>r_64_Sherbet32_f</code><br />
|-<br />
| N64 SkyScraper (Normal) || <code>0xC7</code> || <code>r_64_battle_n</code><br />
|-<br />
| N64 SkyScraper (Fast) || <code>0xC8</code> || <code>r_64_battle_f</code><br />
|-<br />
| GBA Shy Guy Beach (Normal) || <code>0x95</code> || <code>r_AGB_Beach32_n</code><br />
|-<br />
| GBA Shy Guy Beach (Fast) || <code>0x96</code> || <code>r_AGB_Beach32_f</code><br />
|-<br />
| GBA Bowser Castle 3 (Normal) || <code>0x9B</code> || <code>r_AGB_Kuppa32_n</code><br />
|-<br />
| GBA Bowser Castle 3 (Fast) || <code>0x9C</code> || <code>r_AGB_Kuppa32_f</code><br />
|-<br />
| DS Desert Hills (Normal) || <code>0xB1</code> || <code>r_DS_Desert32_n</code><br />
|-<br />
| DS Desert Hills (Fast) || <code>0xB2</code> || <code>r_DS_Desert32_f</code><br />
|-<br />
| DS Peach Garden (Normal) || <code>0xB3</code> || <code>r_DS_Garden32_n</code><br />
|-<br />
| DS Peach Garden (Fast) || <code>0xB4</code> || <code>r_DS_Garden32_f</code><br />
|-<br />
| DS Yoshi Falls (Normal) || <code>0xAD</code> || <code>r_DS_Jungle32_n</code><br />
|-<br />
| DS Yoshi Falls (Fast) || <code>0xAE</code> || <code>r_DS_Jungle32_f</code><br />
|-<br />
| DS Delfino Square (Normal) || <code>0xAF</code> || <code>r_DS_Town32_n</code><br />
|-<br />
| DS Delfino Square (Fast) || <code>0xB0</code> || <code>r_DS_Town32_f</code><br />
|-<br />
| GCN Cookie Land (Normal) || <code>0xBF</code> || <code>r_GC_Battle32_n</code><br />
|-<br />
| GCN Cookie Land (Fast) || <code>0xC0</code> || <code>r_GC_Battle32_f</code><br />
|-<br />
| GCN Peach Beach (Normal) || <code>0xA5</code> || <code>r_GC_Beach32_n</code><br />
|-<br />
| GCN Peach Beach (Fast) || <code>0xA6</code> || <code>r_GC_Beach32_f</code><br />
|-<br />
| GCN Mario Circuit (Normal) || <code>0xA7</code> || <code>r_GC_Circuit32_n</code><br />
|-<br />
| GCN Mario Circuit (Fast) || <code>0xA8</code> || <code>r_GC_Circuit32_f</code><br />
|-<br />
| GCN DK Mountain (Normal) || <code>0xAB</code> || <code>r_GC_Mountain32_n</code><br />
|-<br />
| GCN DK Mountain (Fast) || <code>0xAC</code> || <code>r_GC_Mountain32_f</code><br />
|-<br />
| GCN Waluigi Stadium (Normal) || <code>0xA9</code> || <code>r_GC_Stadium32_n</code><br />
|-<br />
| GCN Waluigi Stadium (Fast) || <code>0xAA</code> || <code>r_GC_Stadium32_f</code><br />
|-<br />
| SNES Mario Circuit 3 (Normal) || <code>0x99</code> || <code>r_SFC_Circuit32_n</code><br />
|-<br />
| SNES Mario Circuit 3 (Fast) || <code>0x9A</code> || <code>r_SFC_Circuit32_f</code><br />
|-<br />
| SNES Ghost Valley 2 (Normal) || <code>0x97</code> || <code>r_SFC_Obake32_n</code><br />
|-<br />
| SNES Ghost Valley 2 (Fast) || <code>0x98</code> || <code>r_SFC_Obake32_f</code><br />
|-<br />
| GBA Battle Course 3 (Normal) || <code>0xC5</code> || <code>r_agb_battle_n</code><br />
|-<br />
| GBA Battle Course 3 (Fast) || <code>0xC6</code> || <code>r_agb_battle_f</code><br />
|-<br />
| DS Twilight House (Normal) || <code>0xC1</code> || <code>r_ds_battle_n</code><br />
|-<br />
| DS Twilight House (Fast) || <code>0xC2</code> || <code>r_ds_battle_f</code><br />
|-<br />
| SNES Battle Course 4 (Normal) || <code>0xC3</code> || <code>r_sfc_battle_n</code><br />
|-<br />
| SNES Battle Course 4 (Fast) || <code>0xC4</code> || <code>r_sfc_battle_f</code><br />
|-<br />
| Unlocked Character/Cup/Kart || <code>0x73</code> || <code>strm_me</code><br />
|}<br />
<br />
== Items ==<br />
<br />
Items as objects on the track are identified by a code number in the game logic and in the network protocol. A different numbering system is used as part of the item box logic and in the user interface, game logic and network protocol for the player items.<br />
<br />
{| class="wikitable sortable"<br />
|+ Item identifiers<br />
! Description !! Item Box Number !! Object Number !! Code Name<br />
|-<br />
| Green Shell || <code>0x00</code> || <code>0x00</code> || <code>kame_green</code><br />
|-<br />
| Red Shell || <code>0x01</code> || <code>0x01</code> || <code>kame_red</code><br />
|-<br />
| Banana || <code>0x02</code> || <code>0x02</code> || <code>banana</code><br />
|-<br />
| Fake Item Box || <code>0x03</code> || <code>0x07</code> || <code>dummybox</code><br />
|-<br />
| Mushroom || <code>0x04</code> || <code>0x03</code> || <code>kinoko</code><br />
|-<br />
| Triple Mushroom || <code>0x05</code> || {{Unknown-left|-}} || <code>kinoko_3</code><br />
|-<br />
| Bob-omb || <code>0x06</code> || <code>0x09</code> || <code>bomb_hei</code><br />
|-<br />
| Blue Shell || <code>0x07</code> || <code>0x05</code> || <code>kame_wing</code><br />
|-<br />
| Lightning || <code>0x08</code> || <code>0x06</code> || <code>thunder</code><br />
|-<br />
| Star || <code>0x09</code> || <code>0x04</code> || <code>star</code><br />
|-<br />
| Golden Mushroom || <code>0x0A</code> || <code>0x0C</code> || <code>GoldenKinoko</code><br />
|-<br />
| Mega Mushroom || <code>0x0B</code> || <code>0x08</code> || <code>kinoko_big</code><br />
|-<br />
| Blooper || <code>0x0C</code> || <code>0x0A</code> || <code>gesso</code><br />
|-<br />
| POW Block || <code>0x0D</code> || <code>0x0B</code> || <code>pow</code><br />
|-<br />
| Cloud || <code>0x0E</code> || <code>0x0E</code> || <code>thunder_c</code><br />
|-<br />
| Bullet Bill || <code>0x0F</code> || <code>0x0D</code> || <code>killer</code><br />
|-<br />
| Triple Green Shell || <code>0x10</code> || {{Unknown-left|-}} || <code>kame_green_3</code><br />
|-<br />
| Triple Red Shell || <code>0x11</code> || {{Unknown-left|-}} || <code>kame_red_3</code><br />
|-<br />
| Triple Banana || <code>0x12</code> || {{Unknown-left|-}} || <code>banana_3</code><br />
|}<br />
<br />
== Objects ==<br />
<br />
Objects in the game world can be spawned at load time. The different types of such objects identified by a 16 bit code number. Please refer to [[Object#Object_Table]] for a list of object identifiers.<br />
<br />
== Languages ==<br />
<br />
At various points in the file system, languages are identified by a unique 1 letter identifier.<br />
<br />
{| class="wikitable sortable"<br />
|+ Language identifiers<br />
! Description !! Code Letter<br />
|-<br />
| Dutch (unused) || <code>N</code><br />
|-<br />
| English PAL || <code>E</code><br />
|-<br />
| French PAL || <code>F</code><br />
|-<br />
| German || <code>G</code><br />
|-<br />
| Italian || <code>I</code><br />
|-<br />
| Japanese || <code>J</code><br />
|-<br />
| Korean || <code>K</code><br />
|-<br />
| Spanish NTSC || <code>M</code><br />
|-<br />
| French NTSC || <code>Q</code><br />
|-<br />
| Spanish PAL || <code>S</code><br />
|-<br />
| English NTSC || <code>U</code><br />
|}<br />
<br />
== Terrain Type ==<br />
<br />
The effect of a collidable surface on a vehicle or item is governed by the [[KCL flag]]. Refer to that article for a list of identifier meanings.<br />
<br />
== User Interface ==<br />
<br />
The user interface code uses code numbers to identify all of the 'menu's and also separately to identify every individual screen within each menu. Except for when on a blank loading screen, the game is always considered to be within a menu. Each menu has a limited number of screens which it can display, possibly overlayed on top of one another. Each menu and screen also has unique code associated with it, which is how the game deduces what files to load for each screen. As such there is no one to one correspondence between code numbers and code names for the user interface.<br />
<br />
=== Menu Identifiers ===<br />
<br />
Menu code numbers seem to heavily reuse screens in order to share code. While each code number does represent a fundamentally different menu, many of them are virtually identical. Some differ only in how they initialise. The 'single player' menu in particular has many different access routes (e.g. from the main menu, from change character in a time trial) and each of these has a different code number. This allows the menu to behave differently (e.g. starting on a different screen).<br />
<br />
{| class="wikitable sortable"<br />
|+ Menu identifiers<br />
! Description !! Code Number !! Referenced Screens<br />
|-<br />
| Power off Wii (as soon as it loads) || <code>0x00</code> || <br />
|-<br />
|rowspan=2| Return to Wii Menu (as soon as it loads) || <code>0x04</code> || <br />
|-<br />
| <code>0x05</code> || <br />
|-<br />
| {{Unknown-left|-}} || <code>0x06</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x07</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x08</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x09</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0A</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0B</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0C</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0D</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0E</code> || <code>0x00</code><br />
|-<br />
| {{Unknown-left|-}} || <code>0x0F</code> || <code>0x00</code><br />
|-<br />
| Creating new save prompt (at boot) || <code>0x10</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x5D</code><br />
|-<br />
| Corrupted save save prompt (at boot) || <code>0x11</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Country changed prompt (at boot) || <code>0x12</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Game cannot be saved error (at boot) || <code>0x13</code> || <code>0x04</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Cannot access system memory error (at boot, softlock) || <code>0x14</code> || <code>0x05</code>, <code>0x5D</code><br />
|-<br />
| Cannot access Mii data error (at boot) || <code>0x15</code> || <code>0x06</code>, <code>0x5D</code><br />
|-<br />
| ESRB notice (at boot, NTSC-U only) || <code>0x16</code> || <code>0x01</code><br />
|-<br />
|rowspan=2| Recommend 60Hz not 50Hz (at boot) || <code>0x17</code> || <code>0x02</code><br />
|-<br />
| <code>0x18</code> || <code>0x02</code><br />
|-<br />
| Panorama at start of Grand Prix || <code>0x19</code> || <code>0x07</code><br />
|-<br />
| Panorama at start of Versus Race || <code>0x1A</code> || <code>0x08</code><br />
|-<br />
| Panorama at start of Balloon Battle || <code>0x1B</code> || <code>0x09</code><br />
|-<br />
| Panorama at start of mission mode boss || <code>0x1C</code> || <code>0x0A</code><br />
|-<br />
| Panorama at start of Competition boss || <code>0x1D</code> || <code>0x0B</code><br />
|-<br />
| Grand Prix gameplay || <code>0x1E</code> || <code>0x0C</code>, <code>0x17</code>, <code>0x20</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Time Trial gameplay || <code>0x1F</code> || <code>0x0D</code>, <code>0x19</code>, <code>0x21</code>, <code>0x29</code>, <code>0x2B</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Single player Versus gameplay || <code>0x20</code> || <code>0x0E</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Two player Versus gameplay || <code>0x21</code> || <code>0x0F</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Three player Versus gameplay || <code>0x22</code> || <code>0x10</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Four player Versus gameplay || <code>0x23</code> || <code>0x11</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Single player Team Versus gameplay || <code>0x24</code> || <code>0x0E</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Two player Team Versus gameplay || <code>0x25</code> || <code>0x0F</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Three player Team Versus gameplay || <code>0x26</code> || <code>0x10</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Four player Team Versus gameplay || <code>0x27</code> || <code>0x11</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Single player Battle gameplay || <code>0x28</code> || <code>0x12</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Two player Battle gameplay || <code>0x29</code> || <code>0x13</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Three player Battle gameplay || <code>0x2A</code> || <code>0x14</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Four player Battle gameplay || <code>0x2B</code> || <code>0x15</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Mission Mode gameplay || <code>0x2C</code> || <code>0x16</code>, <code>0x1B</code>, <code>0x25</code>, <code>0x2C</code>, <code>0x3A</code><br />
|-<br />
| Competition gameplay || <code>0x2D</code> || <code>0x16</code>, <code>0x1B</code>, <code>0x26</code>, <code>0x2A</code>, <code>0x35</code>, <code>0x3A</code><br />
|-<br />
| Grand Prix replay || <code>0x2E</code> || <code>0x2C</code>, <code>0x36</code>, <code>0x38</code>, <code>0x3A</code><br />
|-<br />
| Time Trial instant replay || <code>0x2F</code> || <code>0x21</code>, <code>0x2B</code>, <code>0x37</code>, <code>0x39</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Ghost Race Time Trial gameplay (unused?) || <code>0x30</code> || <code>0x0D</code>, <code>0x1C</code>, <code>0x1D</code>, <code>0x1E</code>, <code>0x27</code>, <code>0x28</code>, <code>0x2C</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code><br />
|-<br />
| Ghost Race Time Trial gameplay || <code>0x31</code> || <code>0x0D</code>, <code>0x1C</code>, <code>0x1D</code>, <code>0x1E</code>, <code>0x27</code>, <code>0x28</code>, <code>0x2C</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code>, <code>0x88</code><br />
|-<br />
| Time Trial watch ghost (from Mario Kart Channel) || <code>0x32</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Time Trial watch ghost (from downloaded ghost data list) || <code>0x33</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Time Trial watch ghost (from single player menu) || <code>0x34</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Award ceremony after Grand Prix || <code>0x35</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| Award ceremony after Versus Race || <code>0x36</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| {{Unknown-left|Probably an award ceremony}} || <code>0x37</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| {{Unknown-left|Probably an award ceremony}} || <code>0x38</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| Credits Part 1 || <code>0x39</code> || <code>0x3D</code><br />
|-<br />
| Credits Part 1 (true end) || <code>0x3A</code> || <code>0x3D</code><br />
|-<br />
| Credits Part 2 || <code>0x3B</code> || <code>0x3D</code>, <code>0x3E</code><br />
|-<br />
| Credits Part 2 (true end) || <code>0x3C</code> || <code>0x3D</code>, <code>0x3E</code><br />
|-<br />
| Congratulations prompt after beating Grand Prix mode || <code>0x3D</code> || <code>0x3F</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x53</code>, <code>0x7F</code><br />
|-<br />
| Congratulations prompt after fully beating Grand Prix mode || <code>0x3E</code> || <code>0x3F</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x53</code>, <code>0x7F</code><br />
|-<br />
| Main Menu (when coming from demo or credits) || <code>0x3F</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming from reset) || <code>0x40</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming back from game menus) || <code>0x41</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming from Mii select for new license) || <code>0x42</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (from somewhere to do with licenses) || <code>0x43</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Demo || <code>0x44</code> || <code>0x3A</code>, <code>0x5F</code><br />
|-<br />
| Mii Select || <code>0x45</code> || <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code><br />
|-<br />
| Mii Select || <code>0x46</code> || <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code><br />
|-<br />
| License Settings || <code>0x47</code> || <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code>, <code>0x67</code>, <code>0x68</code>, <code>0xCE</code>, <code>0xCF</code>, <code>0xD0</code>, <code>0xD1</code>, <code>0xD2</code><br />
|-<br />
| Single Player (coming from Main Menu) || <code>0x48</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Time Trial change character) || <code>0x49</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Time Trial change course) || <code>0x4A</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Versus Race) || <code>0x4B</code> || <code>0x4B</code>, <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Battle) || <code>0x4C</code> || <code>0x4B</code>, <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Mission Mode change mission, softlock) || <code>0x4D</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Mario Kart Channel challenge ghost) || <code>0x4E</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from leaderboard challenge ghost) || <code>0x4F</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from ghost data list challenge ghost) || <code>0x50</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Send Winning Ghost Data to friend (coming from Time Trial) || <code>0x51</code> || <code>0x4F</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB6</code><br />
|-<br />
| Challenge Ghost Data (from Wii menu channel) || <code>0x52</code> || <code>0x4F</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB1</code>, <code>0xB2</code><br />
|-<br />
| Watch Replay (from Wii menu channel) || <code>0x53</code> || <code>0x4F</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB1</code>, <code>0xB2</code><br />
|-<br />
| Local Multiplayer || <code>0x54</code> || <code>0x4B</code>, <code>0x4C</code>, <code>0x4D</code>, <code>0x52</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x61</code>, <code>0x62</code>, <code>0x63</code>, <code>0x64</code>, <code>0x6B</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x80</code>, <code>0x81</code>, <code>0x82</code>, <code>0x83</code><br />
|-<br />
| Single Player Wi-Fi || <code>0x55</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi (from disconnected at globe or friend room) || <code>0x56</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi (from find a friend) || <code>0x57</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi Versus voting || <code>0x58</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Battle voting || <code>0x59</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi select guest Mii || <code>0x5A</code> || <code>0x52</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x61</code>, <code>0x62</code>, <code>0x63</code>, <code>0x64</code>, <code>0x8A</code><br />
|-<br />
| Two Player Wi-Fi || <code>0x5B</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Two Player Wi-Fi (from disconnected at globe or friend room) || <code>0x5C</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x5D</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Two Player Wi-Fi Versus voting || <code>0x5E</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Battle voting || <code>0x5F</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Versus voting || <code>0x60</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Versus voting || <code>0x61</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Battle voting || <code>0x62</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Battle voting || <code>0x63</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Single Player Wi-Fi Friend Room Versus voting round 2+}} || <code>0x64</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Two Player Wi-Fi Friend Room Versus voting round 2+}} || <code>0x65</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Single Player Wi-Fi Friend Room Battle voting round 2+}} || <code>0x66</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown-left|Two Player Wi-Fi Friend Room Battle voting round 2+}} || <code>0x67</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Versus gameplay || <code>0x68</code> || <code>0x31</code>, <code>0x3A</code>, <code>0x40</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Versus gameplay || <code>0x69</code> || <code>0x31</code>, <code>0x3A</code>, <code>0x41</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Versus live view || <code>0x6A</code> || <code>0x3A</code>, <code>0x48</code>, <code>0x49</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Versus live view || <code>0x6B</code> || <code>0x3A</code>, <code>0x48</code>, <code>0x49</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Battle gameplay || <code>0x6C</code> || <code>0x12</code>, <code>0x31</code>, <code>0x33</code>, <code>0x3A</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Battle gameplay || <code>0x6D</code> || <code>0x13</code>, <code>0x31</code>, <code>0x33</code>, <code>0x3A</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Battle live view || <code>0x6E</code> || <code>0x33</code>, <code>0x3A</code>, <code>0x48</code>, <code>0x4A</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Battle live view || <code>0x6F</code> || <code>0x33</code>, <code>0x3A</code>, <code>0x48</code>, <code>0x4A</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Versus gameplay || <code>0x70</code> || <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code>, <code>0x42</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Team Versus gameplay || <code>0x71</code> || <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code>, <code>0x42</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Baloon Battle gameplay || <code>0x72</code> || <code>0x12</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Coin Runner gameplay || <code>0x73</code> || <code>0x12</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Versus gameplay || <code>0x74</code> || <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code>, <code>0x43</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Team Versus gameplay || <code>0x75</code> || <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code>, <code>0x43</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Baloon Battle gameplay || <code>0x76</code> || <code>0x13</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Coin Runner gameplay || <code>0x77</code> || <code>0x13</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Wi-Fi disconnected prompt (for error codes?) || <code>0x78</code> || <code>0x5D</code>, <code>0x89</code><br />
|-<br />
| Wi-Fi disconnected prompt (general dc) || <code>0x79</code> || <code>0x5D</code>, <code>0x89</code><br />
|-<br />
| Mario Kart Channel (from main menu) || <code>0x7A</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel (from Time Trial check rankings) || <code>0x7B</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel (from downloaded ghost data list) || <code>0x7C</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel leaderboards || <code>0x7D</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x95</code>, <code>0xA7</code>, <code>0xA8</code>, <code>0xAA</code>, <code>0xAB</code>, <code>0xAC</code>, <code>0xAD</code>, <code>0xAE</code>, <code>0xAF</code><br />
|-<br />
| Mario Kart Channel competition leaderboard || <code>0x7E</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x95</code>, <code>0xA9</code>, <code>0xAA</code>, <code>0xAB</code>, <code>0xAE</code>, <code>0xAF</code>, <code>0xB0</code><br />
|-<br />
| Ghost Race (with ghost data ready) || <code>0x7F</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x9F</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Ghost Race (without ghost data ready) || <code>0x80</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x9F</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Ghost Race next race || <code>0x81</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Downloaded Ghost Data List || <code>0x82</code> || <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB3</code>, <code>0xB4</code>, <code>0xB5</code><br />
|-<br />
| Friends List (from Mario Kart Channel or find friend) || <code>0x83</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8E</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Friends List (from Mario Kart Channel or find friend) || <code>0x84</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8E</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9A</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Competition (from Mario Kart Channel) || <code>0x85</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xB7</code>, <code>0xB8</code>, <code>0xBB</code><br />
|-<br />
| Competition (from change character) || <code>0x86</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xB7</code>, <code>0xB8</code>, <code>0xBB</code><br />
|-<br />
| Competition submit record || <code>0x87</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5E</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0xB9</code><br />
|-<br />
| {{Unknown-left|Competition for Wii Wheels Only (unused?)}} || <code>0x88</code> || <code>0x5B</code>, <code>0xBA</code><br />
|-<br />
| {{Unknown-left|Competition for Wii Wheels Only for bosses? (unused?)}} || <code>0x89</code> || <code>0x5B</code>, <code>0xBA</code><br />
|-<br />
| Invite Friends via Messageboard || <code>0x8A</code> || <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xBD</code>, <code>0xBE</code>, <code>0xBF</code><br />
|-<br />
| Download Latest Data || <code>0x8B</code> || <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xBC</code><br />
|-<br />
| Options (license screen) || <code>0x8C</code> || <code>0x4D</code>, <code>0x4E</code>, <code>0x5D</code>, <code>0xC0</code>, <code>0xC1</code>, <code>0xC2</code>, <code>0xC3</code>, <code>0xC4</code>, <code>0xC5</code>, <code>0xC6</code>, <code>0xC7</code>, <code>0xC8</code>, <code>0xC9</code>, <code>0xCA</code>, <code>0xCB</code>, <code>0xCC</code><br />
|-<br />
| Add Mario Kart Channel || <code>0x8D</code> || <code>0x5D</code>, <code>0xCA</code>, <code>0xCB</code>, <code>0xCC</code><br />
|-<br />
| Choose Region || <code>0x8E</code> || <code>0x5D</code>, <code>0xC5</code>, <code>0xCC</code><br />
|-<br />
| Join Message Service || <code>0x8F</code> || <code>0x4E</code>, <code>0x5D</code>, <code>0xC2</code>, <code>0xC3</code>, <code>0xC6</code>, <code>0xC7</code>, <code>0xC8</code>, <code>0xC9</code>, <code>0xCC</code><br />
|-<br />
| Unlock message (orange) || <code>0x90</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (orange) || <code>0x91</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (blue) || <code>0x92</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (yellow) || <code>0x93</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Debug? Mission mode (broken single player menu) || <code>0x94</code> || <code>0x7A</code>, <code>0x7B</code>, <code>0x7C</code>, <code>0x7D</code>, <code>0x7E</code><br />
|-<br />
| No Game Disc (Wii Menu Channel only) || <code>0x95</code> || {{Unknown-left|Unknown}}<br />
|-<br />
| Could Not Access System Memory (Wii Menu Channel only) || <code>0x96</code> || {{Unknown-left|Unknown}}<br />
|-<br />
| Select License (Wii Menu Channel only) || <code>0x9D</code> || {{Unknown-left|Unknown}}<br />
|-<br />
| Options (Wii Menu Channel only) || <code>0xAA</code> || {{Unknown-left|Unknown}}<br />
|}<br />
<br />
=== Screen Identifiers ===<br />
<br />
Screens typically represent either one visually complete user interface (for example, the character selection interface) or a background element (for example, the borders at the top and bottom of the screen). Up to 10 screens can be overlayed on top of each other by the user interface code. Some screens do not contain any visual elements and instead exist to perform background work (for example, loading ghost data).<br />
<br />
{| class="wikitable sortable"<br />
|+ Screen Identifiers<br />
! Description !! Code Number<br />
|-<br />
| Empty, it seems || <code>0x00</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x01</code><br />
|-<br />
| 60Hz suggestion || <code>0x02</code><br />
|-<br />
| Data corrupt || <code>0x03</code><br />
|-<br />
| Can't save || <code>0x04</code><br />
|-<br />
| System memory corrupt || <code>0x05</code><br />
|-<br />
| Mii Data corrupt || <code>0x06</code><br />
|-<br />
| Grand Prix pan overlay || <code>0x07</code><br />
|-<br />
| VS pan overlay || <code>0x08</code><br />
|-<br />
| Battle pan overlay || <code>0x09</code><br />
|-<br />
| Mission pan overlay || <code>0x0A</code><br />
|-<br />
| Tourney pan overlay || <code>0x0B</code><br />
|-<br />
| GP Race interface || <code>0x0C</code><br />
|-<br />
| TT Race interface || <code>0x0D</code><br />
|-<br />
| 1P VS Race interface || <code>0x0E</code><br />
|-<br />
| 2P VS Race interface || <code>0x0F</code><br />
|-<br />
| 3P VS Race interface || <code>0x10</code><br />
|-<br />
| 4P VS race interface || <code>0x11</code><br />
|-<br />
| 1P Battle interface || <code>0x12</code><br />
|-<br />
| 2P Battle interface || <code>0x13</code><br />
|-<br />
| 3P Battle interface || <code>0x14</code><br />
|-<br />
| 4P Battle interface || <code>0x15</code><br />
|-<br />
| Mission/Tourney interface || <code>0x16</code><br />
|-<br />
| GP pause menu || <code>0x17</code><br />
|-<br />
| VS Race pause menu || <code>0x18</code><br />
|-<br />
| TT Race pause menu || <code>0x19</code><br />
|-<br />
| Battle pause menu || <code>0x1A</code><br />
|-<br />
| Tournament pause menu || <code>0x1B</code><br />
|-<br />
| Ghost Race pause menu || <code>0x1C</code><br />
|-<br />
| Abandon Ghost Race? || <code>0x1D</code><br />
|-<br />
| Quit Ghost Race? || <code>0x1E</code><br />
|-<br />
| Ghost replay pause menu || <code>0x1F</code><br />
|-<br />
| GP end screen (Next race, Watch replay, Quit) || <code>0x20</code><br />
|-<br />
| TT end screen (retry, change course, etc) || <code>0x21</code><br />
|-<br />
| VS end screen (Next race, Quit) || <code>0x22</code><br />
|-<br />
| Battle end screen (Next battle, Quit) || <code>0x23</code><br />
|-<br />
| Battld end screen (Next only, to final results) || <code>0x24</code><br />
|-<br />
| Mission end screen (retry, choose mission, quit. Unused). || <code>0x25</code><br />
|-<br />
| Tourney end screen || <code>0x26</code><br />
|-<br />
| Ghost Race end screen (Next/quit) || <code>0x27</code><br />
|-<br />
| Go to Friend Roster? || <code>0x28</code><br />
|-<br />
| You beat your friend's record! Send your ghost? || <code>0x29</code><br />
|-<br />
| Send tourney record || <code>0x2A</code><br />
|-<br />
| Check rankings? || <code>0x2B</code><br />
|-<br />
| Are you sure you want to quit? || <code>0x2C</code><br />
|-<br />
| Splits after TT || <code>0x2D</code><br />
|-<br />
| Leaderboard after TT || <code>0x2E</code><br />
|-<br />
| GP/VS score update screen || <code>0x2F</code><br />
|-<br />
| GP/VS score overall screen || <code>0x30</code><br />
|-<br />
| Online race point update screen || <code>0x31</code><br />
|-<br />
| Team VS point overall screen || <code>0x32</code><br />
|-<br />
| Battle point update screen || <code>0x33</code><br />
|-<br />
| Battle point overall screen || <code>0x34</code><br />
|-<br />
| Competition personal leaderboard || <code>0x35</code><br />
|-<br />
| Grand Prix replay interface || <code>0x36</code><br />
|-<br />
| Ghost Race interface || <code>0x37</code><br />
|-<br />
| Grand Prix replay pause || <code>0x38</code><br />
|-<br />
| TT Immediate Replay pause || <code>0x39</code><br />
|-<br />
| Supporting panel (Present in many modes in-race, 2nd element) || <code>0x3A</code><br />
|-<br />
| Probably award interface (untested) || <code>0x3B</code><br />
|-<br />
| Probably congrats screen (untested) || <code>0x3C</code><br />
|-<br />
| Credits VS interface (untested) || <code>0x3D</code><br />
|-<br />
| Credits latter interface (untested) || <code>0x3E</code><br />
|-<br />
| Congrats after credits || <code>0x3F</code><br />
|-<br />
| Wi-Fi Race Interface || <code>0x40</code><br />
|-<br />
| 2P Wi-Fi Race Interface || <code>0x41</code><br />
|-<br />
| Wi-Fi Friend Room Race Interface || <code>0x42</code><br />
|-<br />
| Wi-Fi Friend Room Team Race Interface || <code>0x43</code><br />
|-<br />
| Congratuations! at end of friend room (untested) || <code>0x44</code><br />
|-<br />
| Dummy? Seems to immediately load <code>0x46</code> || <code>0x45</code><br />
|-<br />
| Online Race End (next race/quit/friend roster) || <code>0x46</code><br />
|-<br />
| Quit online race? || <code>0x47</code><br />
|-<br />
| Please wait a moment... (end of online race) || <code>0x48</code><br />
|-<br />
| Live VS view interface || <code>0x49</code><br />
|-<br />
| Live battle view interface (untested) || <code>0x4A</code><br />
|-<br />
| Start game okay? || <code>0x4B</code><br />
|-<br />
| Text box with spinner || <code>0x4C</code><br />
|-<br />
| Drift description/Info popup || <code>0x4D</code><br />
|-<br />
| Vote/random selector || <code>0x4E</code><br />
|-<br />
| Reading ghost data/screen with text + spin wait || <code>0x4F</code><br />
|-<br />
| Connecting to Nintendo WFC... || <code>0x50</code><br />
|-<br />
| Generic text box, full screen, press A || <code>0x51</code><br />
|-<br />
| Text box with one prompt (Multiple uses) || <code>0x52</code><br />
|-<br />
| Post photo to messageboard? || <code>0x53</code><br />
|-<br />
| Behind main menu? || <code>0x54</code><br />
|-<br />
| Dummy? Maybe not low battery. Goes to 5A? || <code>0x55</code><br />
|-<br />
| Low battery notification || <code>0x56</code><br />
|-<br />
| Title Screen || <code>0x57</code><br />
|-<br />
| Behind main menu? || <code>0x58</code><br />
|-<br />
| Demo movie || <code>0x59</code><br />
|-<br />
| Main Menu || <code>0x5A</code><br />
|-<br />
| Behind unlocks? || <code>0x5B</code><br />
|-<br />
| Further behind multiplayer menus? || <code>0x5C</code><br />
|-<br />
| Behind disconnects? || <code>0x5D</code><br />
|-<br />
| Behind multiplayer menus? || <code>0x5E</code><br />
|-<br />
| Blinking press A || <code>0x5F</code><br />
|-<br />
| Select Mii || <code>0x60</code><br />
|-<br />
| Active controller display || <code>0x61</code><br />
|-<br />
| Player controller opt in || <code>0x62</code><br />
|-<br />
| Pair Wii Remotes || <code>0x63</code><br />
|-<br />
| Player controller opt in complete (OK/Change) || <code>0x64</code><br />
|-<br />
| License select || <code>0x65</code><br />
|-<br />
| Mii Changed || <code>0x66</code><br />
|-<br />
| License Settings || <code>0x67</code><br />
|-<br />
| Erase license || <code>0x68</code><br />
|-<br />
| Single player menu || <code>0x69</code><br />
|-<br />
| Grand Prix class select || <code>0x6A</code><br />
|-<br />
| character select || <code>0x6B</code><br />
|-<br />
| bike select || <code>0x6C</code><br />
|-<br />
| auto/manual || <code>0x6D</code><br />
|-<br />
| Cup select screen || <code>0x6E</code><br />
|-<br />
| Course select sub screen || <code>0x6F</code><br />
|-<br />
| Select ghost screen || <code>0x70</code><br />
|-<br />
| Select ghost screen || <code>0x71</code><br />
|-<br />
| Select Solo/Team VS || <code>0x72</code><br />
|-<br />
| Select Race Rules || <code>0x73</code><br />
|-<br />
| Play with these teams || <code>0x74</code><br />
|-<br />
| Select Battle Mode || <code>0x75</code><br />
|-<br />
| Select Vehicle (Battle) || <code>0x76</code><br />
|-<br />
| Select Battle Rules || <code>0x77</code><br />
|-<br />
| Select Battle Cup || <code>0x78</code><br />
|-<br />
| Select Battle Course || <code>0x79</code><br />
|-<br />
| Mysterious screen with 8 buttons on the left (Unused mission mode) || <code>0x7A</code><br />
|-<br />
| Mysterious screen with 8 long buttons on the right || <code>0x7B</code><br />
|-<br />
| Messagebox with two buttons below || <code>0x7C</code><br />
|-<br />
| "Drift Mode" Huge box with only one drift choice! || <code>0x7D</code><br />
|-<br />
| Single text box with a picture below. || <code>0x7E</code><br />
|-<br />
| {{Unknown-left|Present on single player menus}} || <code>0x7F</code><br />
|-<br />
| Select VS/Battle (multiplayer) || <code>0x80</code><br />
|-<br />
| Multiplayer vehicle select || <code>0x81</code><br />
|-<br />
| Multiplayer drift select || <code>0x82</code><br />
|-<br />
| Multiplayer team select || <code>0x83</code><br />
|-<br />
| part of connecting...? || <code>0x84</code><br />
|-<br />
| WFC first play || <code>0x85</code><br />
|-<br />
| Allow data to be sent? || <code>0x86</code><br />
|-<br />
| Disconnects you || <code>0x87</code><br />
|-<br />
| Seems to draw behind online races (panel 2) || <code>0x88</code><br />
|-<br />
| Error connecting to WFC || <code>0x89</code><br />
|-<br />
| Dummy? Seems to redirect to <code>0x52</code>. || <code>0x8A</code><br />
|-<br />
| WW/Regional/Friends || <code>0x8B</code><br />
|-<br />
| WW VS/Battle Select || <code>0x8C</code><br />
|-<br />
| Friends Menu || <code>0x8D</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x8E</code><br />
|-<br />
| Loads Char Select || <code>0x8F</code><br />
|-<br />
| Timer || <code>0x90</code><br />
|-<br />
| VR screen || <code>0x91</code><br />
|-<br />
| All course votes || <code>0x92</code><br />
|-<br />
| Present in live view? || <code>0x93</code><br />
|-<br />
| Present in online race? || <code>0x94</code><br />
|-<br />
| Present in online menus? || <code>0x95</code><br />
|-<br />
| Friend Roster || <code>0x96</code><br />
|-<br />
| Not Friends Yet || <code>0x97</code><br />
|-<br />
| Remove Friend Code || <code>0x98</code><br />
|-<br />
| Removing Friend Code... || <code>0x99</code><br />
|-<br />
| {{Unknown-left|Unknown}} || <code>0x9A</code><br />
|-<br />
| Present in online menus? || <code>0x9B</code><br />
|-<br />
| Dummy? Loads <code>0x9D</code> || <code>0x9C</code><br />
|-<br />
| Friend Room! || <code>0x9D</code><br />
|-<br />
| Friend Room messages || <code>0x9E</code><br />
|-<br />
| Dummy? Loads <code>0xA6</code> || <code>0xA5</code><br />
|-<br />
| Enter FC || <code>0xA6</code><br />
|-<br />
| Resides behind many TT modes. || <code>0xA7</code><br />
|-<br />
| Mario Kart Channel ghost histogram screen || <code>0xA8</code><br />
|-<br />
| Mario Kart Channel behind <code>0xAD</code> || <code>0xAC</code><br />
|-<br />
| Mario Kart Channel with a selected ghost (challenge/watch) || <code>0xAD</code><br />
|-<br />
| Competition for Wii Wheels only || <code>0xBA</code><br />
|-<br />
| Options || <code>0xC0</code><br />
|-<br />
| Nintendo Wi-Fi Connection options || <code>0xC1</code><br />
|-<br />
| Information box with "Next", can chain to self || <code>0xC2</code><br />
|-<br />
| Information box with 2 buttons prompt. || <code>0xC3</code><br />
|-<br />
| Information box with 3 prompts. (???) || <code>0xC4</code><br />
|-<br />
| Return to system menu to set region? || <code>0xC5</code><br />
|-<br />
| Flag/Region Display || <code>0xC6</code><br />
|-<br />
| Large info box with spinner || <code>0xC7</code><br />
|-<br />
| Large info box with A prompt || <code>0xC8</code><br />
|-<br />
| Info box with OK prompt || <code>0xC9</code><br />
|-<br />
| Add Mario Kart Channel || <code>0xCA</code><br />
|-<br />
| Add Mario Kart Channel prompt || <code>0xCB</code><br />
|-<br />
| Draws beneath Options menu || <code>0xCC</code><br />
|-<br />
| Overall Records || <code>0xCE</code><br />
|-<br />
| Favourites || <code>0xCF</code><br />
|-<br />
| Friend Records || <code>0xD0</code><br />
|-<br />
| WFC Records || <code>0xD1</code><br />
|-<br />
| Other Records || <code>0xD2</code><br />
|}<br />
<br />
=== Text ===<br />
<br />
All text displayed as part of the user interface is referred to by a 16 bit code number. This is used to lookup the message in [[BMG]] files. A list of all code numbers and corresponding text can be found at [https://szs.wiimm.de/download/bmg/ wiimm.de].<br />
<br />
[[Category:Technical Information]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=List_of_Identifiers&diff=134777List of Identifiers2018-05-09T14:28:54Z<p>Chadderz: This took forever to write! Hopefully it'll be worth it if I never have to wonder where to find this stuff again. I didn't know the music IDs so those have a lot of unknowns.</p>
<hr />
<div>An '''Identifier''' (ID) is a way of referring to something. Computer programs like [[Mario Kart Wii]] commonly use numbers or code names for identifiers which do not necessarily match what users would commonly use. This article lists known identifiers for various parts of Mario Kart Wii.<br />
<br />
== Courses ==<br />
''Main Articles: [[Slot]] and [[Filesystem/Race/Course]]''<br />
<br />
Identifiers for the courses are in a common pool. This is shared between the battle, race, competition and cinematic courses and also the online voting identifiers.<br />
<br />
The code numbers are used exclusively by the user interface and online networking and the code name is only used when constructing a file name within the [[Filesystem/Race/Course|/Race/Course]] directory. Consequently there exists tables in the memory to convert from code numbers to code names.<br />
<br />
{| class="wikitable sortable"<br />
|+ Course identifiers<br />
! Wiiki ID !! Description !! Code Number !! Code Name<br />
|-<br />
| T11<br />
| Luigi Circuit<br />
| <code>0x08</code><br />
| <code>beginner_course</code><br />
|-<br />
| T12<br />
| Moo Moo Meadows<br />
| <code>0x01</code><br />
| <code>farm_course</code><br />
|-<br />
| T13<br />
| Mushroom Gorge<br />
| <code>0x02</code><br />
| <code>kinoko_course</code><br />
|-<br />
| T14<br />
| Toad's Factory<br />
| <code>0x04</code><br />
| <code>factory_course</code><br />
|-<br />
| T21<br />
| Mario Circuit<br />
| <code>0x00</code><br />
| <code>castle_course</code><br />
|-<br />
| T22<br />
| Coconut Mall<br />
| <code>0x05</code><br />
| <code>shopping_course</code><br />
|-<br />
| T23<br />
| DK Summit/DK Snowboard Cross<br />
| <code>0x06</code><br />
| <code>boardcross_course</code><br />
|-<br />
| T24<br />
| Wario's Gold Mine<br />
| <code>0x07</code><br />
| <code>truck_course</code><br />
|-<br />
| T31<br />
| Daisy Circuit<br />
| <code>0x09</code><br />
| <code>senior_course</code><br />
|-<br />
| T32<br />
| Koopa Cape<br />
| <code>0x0F</code><br />
| <code>water_course</code><br />
|-<br />
| T33<br />
| Maple Treeway<br />
| <code>0x0B</code><br />
| <code>treehouse_course</code><br />
|-<br />
| T34<br />
| Grumble Volcano<br />
| <code>0x03</code><br />
| <code>volcano_course</code><br />
|-<br />
| T41<br />
| Dry Dry Ruins<br />
| <code>0x0E</code><br />
| <code>desert_course</code><br />
|-<br />
| T42<br />
| Moonview Highway<br />
| <code>0x0A</code><br />
| <code>ridgehighway_course</code><br />
|-<br />
| T43<br />
| Bowser's Castle<br />
| <code>0x0C</code><br />
| <code>koopa_course</code><br />
|-<br />
| T44<br />
| Rainbow Road<br />
| <code>0x0D</code><br />
| <code>rainbow_course</code><br />
|-<br />
| T51<br />
| GCN Peach Beach<br />
| <code>0x10</code><br />
| <code>old_peach_gc</code><br />
|-<br />
| T52<br />
| DS Yoshi Falls<br />
| <code>0x14</code><br />
| <code>old_falls_ds</code><br />
|-<br />
| T53<br />
| SNES Ghost Valley 2<br />
| <code>0x19</code><br />
| <code>old_obake_sfc</code><br />
|-<br />
| T54<br />
| N64 Mario Raceway<br />
| <code>0x1A</code><br />
| <code>old_mario_64</code><br />
|-<br />
| T61<br />
| N64 Sherbet Land<br />
| <code>0x1B</code><br />
| <code>old_sherbet_64</code><br />
|-<br />
| T62<br />
| GBA Shy Guy Beach<br />
| <code>0x1F</code><br />
| <code>old_heyho_gba</code><br />
|-<br />
| T63<br />
| DS Delfino Square<br />
| <code>0x17</code><br />
| <code>old_town_ds</code><br />
|-<br />
| T64<br />
| GCN Waluigi Stadium<br />
| <code>0x12</code><br />
| <code>old_waluigi_gc</code><br />
|-<br />
| T71<br />
| DS Desert Hills<br />
| <code>0x15</code><br />
| <code>old_desert_ds</code><br />
|-<br />
| T72<br />
| GBA Bowser Castle 3<br />
| <code>0x1E</code><br />
| <code>old_koopa_gba</code><br />
|-<br />
| T73<br />
| N64 DK's Jungle Parkway<br />
| <code>0x1D</code><br />
| <code>old_donkey_64</code><br />
|-<br />
| T74<br />
| GCN Mario Circuit<br />
| <code>0x11</code><br />
| <code>old_mario_gc</code><br />
|-<br />
| T81<br />
| SNES Mario Circuit 3<br />
| <code>0x18</code><br />
| <code>old_mario_sfc</code><br />
|-<br />
| T82<br />
| DS Peach Gardens<br />
| <code>0x16</code><br />
| <code>old_garden_ds</code><br />
|-<br />
| T83<br />
| GCN DK Mountain<br />
| <code>0x13</code><br />
| <code>old_donkey_gc</code><br />
|-<br />
| T84<br />
| N64 Bowser's Castle<br />
| <code>0x1C</code><br />
| <code>old_koopa_64</code><br />
|-<br />
| A11<br />
| Block Plaza<br />
| <code>0x21</code><br />
| <code>block_battle</code><br />
|-<br />
| A12<br />
| Delfino Pier<br />
| <code>0x20</code><br />
| <code>venice_battle</code><br />
|-<br />
| A13<br />
| Funky Stadium<br />
| <code>0x23</code><br />
| <code>skate_battle</code><br />
|-<br />
| A14<br />
| Chain Chomp Wheel/Chain Chomp Roulette<br />
| <code>0x22</code><br />
| <code>casino_battle</code><br />
|-<br />
| A15<br />
| Thwomp Desert<br />
| <code>0x24</code><br />
| <code>sand_battle</code><br />
|-<br />
| A21<br />
| SNES Battle Course 4<br />
| <code>0x27</code><br />
| <code>old_battle4_sfc</code><br />
|-<br />
| A22<br />
| GBA Battle Course 3<br />
| <code>0x28</code><br />
| <code>old_battle3_gba</code><br />
|-<br />
| A23<br />
| N64 Skyscraper<br />
| <code>0x29</code><br />
| <code>old_matenro_64</code><br />
|-<br />
| A24<br />
| GCN Cookie Land<br />
| <code>0x25</code><br />
| <code>old_CookieLand_gc</code><br />
|-<br />
| A25<br />
| DS Twilight House<br />
| <code>0x26</code><br />
| <code>old_House_ds</code><br />
|-<br />
| WIN<br />
| Winning scene<br />
| <code>0x37</code><br />
| <code>winningrun_demo</code><br />
|-<br />
| LOS<br />
| Losing scene<br />
| <code>0x38</code><br />
| <code>loser_demo</code><br />
|-<br />
| END<br />
| Luigi Circuit (credits)<br />
| <code>0x3A</code><br />
| <code>ending_demo</code><br />
|-<br />
| MAR<br />
| GCN Mario Circuit (not used, direct port)<br />
| {{Unknown|-}}<br />
| <code>old_mario_gc_b</code><br />
|-<br />
| RNG<br />
| Galaxy Colosseum (was used in a tournament)<br />
| <code>0x36</code><br />
| <code>ring_mission</code><br />
|-<br />
| DRW<br />
| Broken version of loser_demo (not used, old [[BRRES]] format)<br />
| <code>0x39</code><br />
| <code>draw_demo</code><br />
|-<br />
| HAY<br />
|rowspan=3| GCN Mario Circuit (not used, old [[BRRES]] format)<br />
| {{Unknown|-}}<br />
| <code>old_mario_gc_hayasi</code><br />
|-<br />
| NAR<br />
| {{Unknown|-}}<br />
| <code>old_mario_gc_narita</code><br />
|-<br />
| YAB<br />
| {{Unknown|-}}<br />
| <code>old_mario_gc_yabuki</code><br />
|-<br />
| {{Unknown|-}}<br />
| Used in online voting.<br />
| <code>0x42</code><br />
| {{Unknown|-}}<br />
|-<br />
| {{Unknown|-}}<br />
| Used in online voting.<br />
| <code>0x43</code><br />
| {{Unknown|-}}<br />
|-<br />
| {{Unknown|-}}<br />
| Used to represent Random in online voting.<br />
| <code>0xFF</code><br />
| {{Unknown|-}}<br />
|}<br />
<br />
== Cups ==<br />
<br />
Both battle and race cups are identified numerically in user interface code by a simple left to right, top to bottom numbering from 0. These numerical identifiers are only used internally by the user interfaces. The user interfaces do however load specific video files by name, allowing us to deduce the code name for the cups.<br />
<br />
{| class="wikitable sortable"<br />
|+ Cup identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Mushroom || <code>0</code> || <code>kinoko</code><br />
|-<br />
| Flower || <code>1</code> || <code>flower</code><br />
|-<br />
| Star || <code>2</code> || <code>star</code><br />
|-<br />
| Special || <code>3</code> || <code>special</code><br />
|-<br />
| Shell || <code>4</code> || <code>koura</code><br />
|-<br />
| Banana || <code>5</code> || <code>banana</code><br />
|-<br />
| Leaf || <code>6</code> || <code>konoha</code><br />
|-<br />
| Lightning || <code>7</code> || <code>lightning</code><br />
|-<br />
| Wii Battle || <code>0</code> || <code>battle_wii</code><br />
|-<br />
| Retro Battle || <code>1</code> || <code>battle_retro</code><br />
|}<br />
<br />
== Characters ==<br />
<br />
All in-game characters are identified by a code number in the user interface and in the online messaging format. This is converted to a short code name when forming a file name to access the [[Filesystem/Race/Kart|/Race/Kart]] and [[Filesystem/Scene/Model/Kart|/Scene/Model/Kart]] directories.<br />
<br />
{| class="wikitable sortable"<br />
|+ Character identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Mario || <code>0x00</code> || <code>mr</code><br />
|-<br />
| Baby Peach || <code>0x01</code> || <code>bpc</code><br />
|-<br />
| Waluigi || <code>0x02</code> || <code>wl</code><br />
|-<br />
| Bowser || <code>0x03</code> || <code>kp</code><br />
|-<br />
| Baby Daisy || <code>0x04</code> || <code>bds</code><br />
|-<br />
| Dry Bones || <code>0x05</code> || <code>ka</code><br />
|-<br />
| Baby Mario || <code>0x06</code> || <code>bmr</code><br />
|-<br />
| Luigi || <code>0x07</code> || <code>lg</code><br />
|-<br />
| Toad || <code>0x08</code> || <code>ko</code><br />
|-<br />
| Donkey Kong || <code>0x09</code> || <code>dk</code><br />
|-<br />
| Yoshi || <code>0x0A</code> || <code>ys</code><br />
|-<br />
| Wario || <code>0x0B</code> || <code>wr</code><br />
|-<br />
| Baby Luigi || <code>0x0C</code> || <code>blg</code><br />
|-<br />
| Toadette || <code>0x0D</code> || <code>kk</code><br />
|-<br />
| Koopa Troopa || <code>0x0E</code> || <code>nk</code><br />
|-<br />
| Daisy || <code>0x0F</code> || <code>ds</code><br />
|-<br />
| Peach || <code>0x10</code> || <code>pc</code><br />
|-<br />
| Birdo || <code>0x11</code> || <code>ca</code><br />
|-<br />
| Diddy Kong || <code>0x12</code> || <code>dd</code><br />
|-<br />
| King Boo || <code>0x13</code> || <code>kt</code><br />
|-<br />
| Bowser Jr. || <code>0x14</code> || <code>jr</code><br />
|-<br />
| Dry Bowser || <code>0x15</code> || <code>bk</code><br />
|-<br />
| Funky Kong || <code>0x16</code> || <code>fk</code><br />
|-<br />
| Rosalina || <code>0x17</code> || <code>rs</code><br />
|-<br />
| Small Mii Outfit A (Male) || <code>0x18</code> || <code>sa_mii_m</code><br />
|-<br />
| Small Mii Outfit A (Female) || <code>0x19</code> || <code>sa_mii_f</code><br />
|-<br />
| Small Mii Outfit B (Male) || <code>0x1A</code> || <code>sb_mii_m</code><br />
|-<br />
| Small Mii Outfit B (Female) || <code>0x1B</code> || <code>sb_mii_f</code><br />
|-<br />
| Small Mii Outfit C (Male) || <code>0x1C</code> || <code>sc_mii_m</code><br />
|-<br />
| Small Mii Outfit C (Female) || <code>0x1D</code> || <code>sc_mii_f</code><br />
|-<br />
| Medium Mii Outfit A (Male) || <code>0x1E</code> || <code>ma_mii_m</code><br />
|-<br />
| Medium Mii Outfit A (Female) || <code>0x1F</code> || <code>ma_mii_f</code><br />
|-<br />
| Medium Mii Outfit B (Male) || <code>0x20</code> || <code>mb_mii_m</code><br />
|-<br />
| Medium Mii Outfit B (Female) || <code>0x21</code> || <code>mb_mii_f</code><br />
|-<br />
| Medium Mii Outfit C (Male) || <code>0x22</code> || <code>mc_mii_m</code><br />
|-<br />
| Medium Mii Outfit C (Female) || <code>0x23</code> || <code>mc_mii_f</code><br />
|-<br />
| Large Mii Outfit A (Male) || <code>0x24</code> || <code>ma_mii_m</code><br />
|-<br />
| Large Mii Outfit A (Female) || <code>0x25</code> || <code>ma_mii_f</code><br />
|-<br />
| Large Mii Outfit B (Male) || <code>0x26</code> || <code>mb_mii_m</code><br />
|-<br />
| Large Mii Outfit B (Female) || <code>0x27</code> || <code>mb_mii_f</code><br />
|-<br />
| Large Mii Outfit C (Male) || <code>0x28</code> || <code>mc_mii_m</code><br />
|-<br />
| Large Mii Outfit C (Female) || <code>0x29</code> || <code>mc_mii_f</code><br />
|-<br />
| Medium Mii || <code>0x2A</code> || <code>m_mii</code><br />
|-<br />
| Small Mii || <code>0x2B</code> || <code>s_mii</code><br />
|-<br />
| Large Mii || <code>0x2C</code> || <code>l_mii</code><br />
|-<br />
| Peach Biker Outfit || <code>0x2D</code> || <code>pc_menu</code><br />
|-<br />
| Daisy Biker Outfit || <code>0x2E</code> || <code>ds_menu</code><br />
|-<br />
| Rosalina Biker Outfit || <code>0x2F</code> || <code>rs_menu</code><br />
|}<br />
<br />
== Vehicles ==<br />
<br />
All vehicles are identified by a code number in the user interface and in the online messaging format. This is converted to a short code name when forming a file name to access the [[Filesystem/Race/Kart|/Race/Kart]] directory.<br />
<br />
{| class="wikitable sortable"<br />
|+ Vehicle identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Standard Kart S || <code>0x00</code> || <code>sdf_kart</code><br />
|-<br />
| Standard Kart M || <code>0x01</code> || <code>mdf_kart</code><br />
|-<br />
| Standard Kart L || <code>0x02</code> || <code>ldf_kart</code><br />
|-<br />
| Booster Seat || <code>0x03</code> || <code>sa_kart</code><br />
|-<br />
| Classic Dragster || <code>0x04</code> || <code>ma_kart</code><br />
|-<br />
| Offroader || <code>0x05</code> || <code>la_kart</code><br />
|-<br />
| Mini Beast || <code>0x06</code> || <code>sb_kart</code><br />
|-<br />
| Wild Wing || <code>0x07</code> || <code>mb_kart</code><br />
|-<br />
| Flame Flyer || <code>0x08</code> || <code>lb_kart</code><br />
|-<br />
| Cheep Charger || <code>0x09</code> || <code>sc_kart</code><br />
|-<br />
| Super Blooper || <code>0x0A</code> || <code>mc_kart</code><br />
|-<br />
| Piranha Prowler || <code>0x0B</code> || <code>lc_kart</code><br />
|-<br />
| Tiny Titan || <code>0x0C</code> || <code>sd_kart</code><br />
|-<br />
| Daytripper || <code>0x0D</code> || <code>md_kart</code><br />
|-<br />
| Jetsetter || <code>0x0E</code> || <code>ld_kart</code><br />
|-<br />
| Blue Falcon || <code>0x0F</code> || <code>se_kart</code><br />
|-<br />
| Sprinter || <code>0x10</code> || <code>me_kart</code><br />
|-<br />
| Honeycoupe || <code>0x11</code> || <code>le_kart</code><br />
|-<br />
| Standard Bike S || <code>0x12</code> || <code>sdf_bike</code><br />
|-<br />
| Standard Bike M || <code>0x13</code> || <code>mdf_bike</code><br />
|-<br />
| Standard Bike L || <code>0x14</code> || <code>ldf_bike</code><br />
|-<br />
| Bullet Bike || <code>0x15</code> || <code>sa_bike</code><br />
|-<br />
| Mach Bike || <code>0x16</code> || <code>ma_bike</code><br />
|-<br />
| Flame Runner || <code>0x17</code> || <code>la_bike</code><br />
|-<br />
| Bit Bike || <code>0x18</code> || <code>sb_bike</code><br />
|-<br />
| Sugarscoot || <code>0x19</code> || <code>mb_bike</code><br />
|-<br />
| Wario Bike || <code>0x1A</code> || <code>lb_bike</code><br />
|-<br />
| Quacker || <code>0x1B</code> || <code>sc_bike</code><br />
|-<br />
| Zip Zip || <code>0x1C</code> || <code>mc_bike</code><br />
|-<br />
| Shooting Star || <code>0x1D</code> || <code>lc_bike</code><br />
|-<br />
| Magikruiser || <code>0x1E</code> || <code>sd_bike</code><br />
|-<br />
| Sneakster || <code>0x1F</code> || <code>md_bike</code><br />
|-<br />
| Spear || <code>0x20</code> || <code>ld_bike</code><br />
|-<br />
| Jet Bubble || <code>0x21</code> || <code>se_bike</code><br />
|-<br />
| Dolphin Dasher || <code>0x22</code> || <code>me_bike</code><br />
|-<br />
| Phantom || <code>0x23</code> || <code>le_bike</code><br />
|}<br />
<br />
== Background Music ==<br />
<br />
Background Music in the game is referenced by a code number in the user interface logic. This is then translated into a code name in order to access the [[Filesystem/sound/strm|/sound/strm]] directory.<br />
<br />
{| class="wikitable sortable"<br />
|+ Background music identifiers<br />
! Description !! Code Number !! Code Name<br />
|-<br />
| Dry Dry Ruins (Normal) || <code>0x89</code> || <code>STRM_N_DESERT_N</code><br />
|-<br />
| Dry Dry Ruins (Fast) || <code>0x8A</code> || <code>STRM_N_DESERT_F</code><br />
|-<br />
| Toad's Factory (Normal) || <code>0x7B</code> || <code>STRM_N_FACTORY_N</code><br />
|-<br />
| Toad's Factory (Fast) || <code>0x7C</code> || <code>STRM_N_FACTORY_F</code><br />
|-<br />
| Bowser's Castle (Normal) || <code>0x91</code> || <code>STRM_N_KOOPA_N</code><br />
|-<br />
| Bowser's Castle (Fast) || <code>0x92</code> || <code>STRM_N_KOOPA_F</code><br />
|-<br />
| Moonview Highway (Normal) || <code>0x8D</code> || <code>STRM_N_RIDGEHIGHWAY_N</code><br />
|-<br />
| Moonview Highway (Fast) || <code>0x8E</code> || <code>STRM_N_RIDGEHIGHWAY_F</code><br />
|-<br />
| Wario's Goldmine (Normal) || <code>0x83</code> || <code>STRM_N_TRUCK_N</code><br />
|-<br />
| Wario's Goldmine (Fast) || <code>0x84</code> || <code>STRM_N_TRUCK_F</code><br />
|-<br />
| Koopa Cape (Normal) || <code>0x85</code> || <code>STRM_N_WATER_N</code><br />
|-<br />
| Koopa Cape (Fast) || <code>0x86</code> || <code>STRM_N_WATER_F</code><br />
|-<br />
| Galaxy Colosseum || <code>0xC9</code> || <code>n_BossMI_32</code><br />
|-<br />
| Luigi Circuit (Normal) || <code>0x75</code> || <code>n_Circuit32_n</code><br />
|-<br />
| Luigi Circuit (Fast) || <code>0x76</code> || <code>n_Circuit32_f</code><br />
|-<br />
| Mario Circuit (Normal) || <code>0x7D</code> || <code>n_Circuit32_n</code><br />
|-<br />
| Mario Circuit (Fast) || <code>0x7E</code> || <code>n_Circuit32_f</code><br />
|-<br />
| Daisy Circuit (Normal) || <code>0x87</code> || <code>n_Daisy32_n</code><br />
|-<br />
| Daisy Circuit (Fast) || <code>0x88</code> || <code>n_Daisy32_f</code><br />
|-<br />
| Moo Moo Meadows (Normal) || <code>0x77</code> || <code>n_Farm_n</code><br />
|-<br />
| Moo Moo Meadows (Fast) || <code>0x78</code> || <code>n_Farm_f</code><br />
|-<br />
| Mushroom Gorge (Normal) || <code>0x79</code> || <code>n_Kinoko_n</code><br />
|-<br />
| Mushroom Gorge (Fast) || <code>0x7A</code> || <code>n_Kinoko_f</code><br />
|-<br />
| Rainbow Road (Normal) || <code>0x93</code> || <code>n_Rainbow32_n</code><br />
|-<br />
| Rainbow Road (Fast) || <code>0x94</code> || <code>n_Rainbow32_f</code><br />
|-<br />
| Coconut Mall (Normal) || <code>0x7F</code> || <code>n_Shopping32_n</code><br />
|-<br />
| Coconut Mall (Fast) || <code>0x80</code> || <code>n_Shopping32_f</code><br />
|-<br />
| DK Summit (Normal) || <code>0x81</code> || <code>n_Snowboard32_n</code><br />
|-<br />
| DK Summit (Fast) || <code>0x82</code> || <code>n_Snowboard32_f</code><br />
|-<br />
| Grumble Volcano (Normal) || <code>0x8B</code> || <code>n_Volcano32_n</code><br />
|-<br />
| Grumble Volcano (Fast) || <code>0x8C</code> || <code>n_Volcano32_f</code><br />
|-<br />
| Block Plaza (Normal) || <code>0xB7</code> || <code>n_block_n</code><br />
|-<br />
| Block Plaza (Fast) || <code>0xB8</code> || <code>n_block_f</code><br />
|-<br />
| Chain Chomp Wheel (Normal) || <code>0xBB</code> || <code>n_casino_n</code><br />
|-<br />
| Chain Chomp Wheel (Fast) || <code>0xBC</code> || <code>n_casino_f</code><br />
|-<br />
| Maple Treeway (Normal) || <code>0x8F</code> || <code>n_maple_n</code><br />
|-<br />
| Maple Treeway (Fast) || <code>0x90</code> || <code>n_maple_f</code><br />
|-<br />
| Thwomp Desert (Normal) || <code>0xBD</code> || <code>n_ryuusa_n</code><br />
|-<br />
| Thwomp Desert (Fast) || <code>0xBE</code> || <code>n_ryuusa_f</code><br />
|-<br />
| Funky Stadium (Normal) || <code>0xB9</code> || <code>n_skate_n</code><br />
|-<br />
| Funky Stadium (Fast) || <code>0xBA</code> || <code>n_skate_f</code><br />
|-<br />
| Delfino Pier (Normal) || <code>0xB5</code> || <code>n_venice_n</code><br />
|-<br />
| Delfino Pier (Fast) || <code>0xB6</code> || <code>n_venice_f</code><br />
|-<br />
| Race intro || {{Unknown}} || <code>o_Crs_In_Fan</code><br />
|-<br />
| Wifi race intro || {{Unknown}} || <code>o_Crs_In_Fan_Wifi</code><br />
|-<br />
| Battle intro || {{Unknown}} || <code>o_Crs_In_Fan_battle</code><br />
|-<br />
| Mission intro || {{Unknown}} || <code>o_Crs_In_Fan_mission</code><br />
|-<br />
| Ending theme (credits) || {{Unknown}} || <code>o_Ending_PartA_32</code><br />
|-<br />
| Battle results: draw || {{Unknown}} || <code>o_FanfareBTdraw_32</code><br />
|-<br />
| First place finish fanfare and results || {{Unknown}} || <code>o_FanfareGP1_32</code><br />
|-<br />
| First place finish fanfare || {{Unknown}} || <code>o_FanfareGP1_only32</code><br />
|-<br />
| Second to fifth place finish fanfare and results || {{Unknown}} || <code>o_FanfareGP2_32</code><br />
|-<br />
| Second to fifth place finish fanfare || {{Unknown}} || <code>o_FanfareGP2_only32</code><br />
|-<br />
| Sixth to last place finish fanfare and results || {{Unknown}} || <code>o_FanfareGPdame_32</code><br />
|-<br />
| Sixth to last place finish fanfare || {{Unknown}} || <code>o_FanfareGPdame_only32</code><br />
|-<br />
| Mission boss win fanfare and results || {{Unknown}} || <code>o_FanfareMIWinBoss_32</code><br />
|-<br />
| Mission lose fanfare and results || {{Unknown}} || <code>o_FanfareMIlose_32</code><br />
|-<br />
| Mission lose results || {{Unknown}} || <code>o_FanfareMIlose_only32</code><br />
|-<br />
| Mission win fanfare and results || {{Unknown}} || <code>o_FanfareMIwin_32</code><br />
|-<br />
| Mission win fanfare || {{Unknown}} || <code>o_FanfareMIwin_only32</code><br />
|-<br />
| Battle win fanfare and results || {{Unknown}} || <code>o_FanfareTA1st_32</code><br />
|-<br />
| Battle win fanfare || {{Unknown}} || <code>o_FanfareTA1st_only32</code><br />
|-<br />
| Options || {{Unknown}} || <code>o_Option_32</code><br />
|-<br />
| Time trial intro fanfare || {{Unknown}} || <code>o_Start2_32_fan</code><br />
|-<br />
| Race intro fanfare || {{Unknown}} || <code>o_Start32_fan</code><br />
|-<br />
| Wi-Fi: waiting to join || {{Unknown}} || <code>o_Wi-Fi_waiting32</code><br />
|-<br />
| Trophy presentation, short || {{Unknown}} || <code>o_hyousyou_cut</code><br />
|-<br />
| Trophy presentation, lose || {{Unknown}} || <code>o_hyousyou_lose</code><br />
|-<br />
| Trophy presentation, normal || {{Unknown}} || <code>o_hyousyou_normal</code><br />
|-<br />
| Trophy presentation, main || {{Unknown}} || <code>o_hyousyou_winningrun</code><br />
|-<br />
| N64 Mario Raceway (Normal) || <code>0x9F</code> || <code>r_64_Circuit32_n</code><br />
|-<br />
| N64 Mario Raceway (Fast) || <code>0xA0</code> || <code>r_64_Circuit32_f</code><br />
|-<br />
| N64 DK Jungle Parkway (Normal) || <code>0xA1</code> || <code>r_64_Jungle32_n</code><br />
|-<br />
| N64 DK Jungle Parkway (Fast) || <code>0xA2</code> || <code>r_64_Jungle32_f</code><br />
|-<br />
| N64 Bowser's Castle (Normal) || <code>0xA3</code> || <code>r_64_Kuppa32_n</code><br />
|-<br />
| N64 Bowser's Castle (Fast) || <code>0xA4</code> || <code>r_64_Kuppa32_f</code><br />
|-<br />
| N64 Sherbet Land (Normal) || <code>0x9D</code> || <code>r_64_Sherbet32_n</code><br />
|-<br />
| N64 Sherbet Land (Fast) || <code>0x9E</code> || <code>r_64_Sherbet32_f</code><br />
|-<br />
| N64 SkyScraper (Normal) || <code>0xC7</code> || <code>r_64_battle_n</code><br />
|-<br />
| N64 SkyScraper (Fast) || <code>0xC8</code> || <code>r_64_battle_f</code><br />
|-<br />
| GBA Shy Guy Beach (Normal) || <code>0x95</code> || <code>r_AGB_Beach32_n</code><br />
|-<br />
| GBA Shy Guy Beach (Fast) || <code>0x96</code> || <code>r_AGB_Beach32_f</code><br />
|-<br />
| GBA Bowser Castle 3 (Normal) || <code>0x9B</code> || <code>r_AGB_Kuppa32_n</code><br />
|-<br />
| GBA Bowser Castle 3 (Fast) || <code>0x9C</code> || <code>r_AGB_Kuppa32_f</code><br />
|-<br />
| DS Desert Hills (Normal) || <code>0xB1</code> || <code>r_DS_Desert32_n</code><br />
|-<br />
| DS Desert Hills (Fast) || <code>0xB2</code> || <code>r_DS_Desert32_f</code><br />
|-<br />
| DS Peach Garden (Normal) || <code>0xB3</code> || <code>r_DS_Garden32_n</code><br />
|-<br />
| DS Peach Garden (Fast) || <code>0xB4</code> || <code>r_DS_Garden32_f</code><br />
|-<br />
| DS Yoshi Falls (Normal) || <code>0xAD</code> || <code>r_DS_Jungle32_n</code><br />
|-<br />
| DS Yoshi Falls (Fast) || <code>0xAE</code> || <code>r_DS_Jungle32_f</code><br />
|-<br />
| DS Delfino Square (Normal) || <code>0xAF</code> || <code>r_DS_Town32_n</code><br />
|-<br />
| DS Delfino Square (Fast) || <code>0xB0</code> || <code>r_DS_Town32_f</code><br />
|-<br />
| GCN Cookie Land (Normal) || <code>0xBF</code> || <code>r_GC_Battle32_n</code><br />
|-<br />
| GCN Cookie Land (Fast) || <code>0xC0</code> || <code>r_GC_Battle32_f</code><br />
|-<br />
| GCN Peach Beach (Normal) || <code>0xA5</code> || <code>r_GC_Beach32_n</code><br />
|-<br />
| GCN Peach Beach (Fast) || <code>0xA6</code> || <code>r_GC_Beach32_f</code><br />
|-<br />
| GCN Mario Circuit (Normal) || <code>0xA7</code> || <code>r_GC_Circuit32_n</code><br />
|-<br />
| GCN Mario Circuit (Fast) || <code>0xA8</code> || <code>r_GC_Circuit32_f</code><br />
|-<br />
| GCN DK Mountain (Normal) || <code>0xAB</code> || <code>r_GC_Mountain32_n</code><br />
|-<br />
| GCN DK Mountain (Fast) || <code>0xAC</code> || <code>r_GC_Mountain32_f</code><br />
|-<br />
| GCN Waluigi Stadium (Normal) || <code>0xA9</code> || <code>r_GC_Stadium32_n</code><br />
|-<br />
| GCN Waluigi Stadium (Fast) || <code>0xAA</code> || <code>r_GC_Stadium32_f</code><br />
|-<br />
| SNES Mario Circuit 3 (Normal) || <code>0x99</code> || <code>r_SFC_Circuit32_n</code><br />
|-<br />
| SNES Mario Circuit 3 (Fast) || <code>0x9A</code> || <code>r_SFC_Circuit32_f</code><br />
|-<br />
| SNES Ghost Valley 2 (Normal) || <code>0x97</code> || <code>r_SFC_Obake32_n</code><br />
|-<br />
| SNES Ghost Valley 2 (Fast) || <code>0x98</code> || <code>r_SFC_Obake32_f</code><br />
|-<br />
| GBA Battle Course 3 (Normal) || <code>0xC5</code> || <code>r_agb_battle_n</code><br />
|-<br />
| GBA Battle Course 3 (Fast) || <code>0xC6</code> || <code>r_agb_battle_f</code><br />
|-<br />
| DS Twilight House (Normal) || <code>0xC1</code> || <code>r_ds_battle_n</code><br />
|-<br />
| DS Twilight House (Fast) || <code>0xC2</code> || <code>r_ds_battle_f</code><br />
|-<br />
| SNES Battle Course 4 (Normal) || <code>0xC3</code> || <code>r_sfc_battle_n</code><br />
|-<br />
| SNES Battle Course 4 (Fast) || <code>0xC4</code> || <code>r_sfc_battle_f</code><br />
|-<br />
| Unlocked Character/Cup/Kart || {{Unknown}} || <code>strm_me</code><br />
|}<br />
<br />
== Items ==<br />
<br />
Items as objects on the track are identified by a code number in the game logic and in the network protocol. A different numbering system is used as part of the item box logic and in the user interface, game logic and network protocol for the player items.<br />
<br />
{| class="wikitable sortable"<br />
|+ Item identifiers<br />
! Description !! Item Box Number !! Object Number !! Code Name<br />
|-<br />
| Green Shell || <code>0x00</code> || <code>0x00</code> || <code>kame_green</code><br />
|-<br />
| Red Shell || <code>0x01</code> || <code>0x01</code> || <code>kame_red</code><br />
|-<br />
| Banana || <code>0x02</code> || <code>0x02</code> || <code>banana</code><br />
|-<br />
| Fake Item Box || <code>0x03</code> || <code>0x07</code> || <code>dummybox</code><br />
|-<br />
| Mushroom || <code>0x04</code> || <code>0x03</code> || <code>kinoko</code><br />
|-<br />
| Triple Mushroom || <code>0x05</code> || {{Unknown|-}} || <code>kinoko_3</code><br />
|-<br />
| Bob-omb || <code>0x06</code> || <code>0x09</code> || <code>bomb_hei</code><br />
|-<br />
| Blue Shell || <code>0x07</code> || <code>0x05</code> || <code>kame_wing</code><br />
|-<br />
| Lightning || <code>0x08</code> || <code>0x06</code> || <code>thunder</code><br />
|-<br />
| Star || <code>0x09</code> || <code>0x04</code> || <code>star</code><br />
|-<br />
| Golden Mushroom || <code>0x0A</code> || <code>0x0C</code> || <code>GoldenKinoko</code><br />
|-<br />
| Mega Mushroom || <code>0x0B</code> || <code>0x08</code> || <code>kinoko_big</code><br />
|-<br />
| Blooper || <code>0x0C</code> || <code>0x0A</code> || <code>gesso</code><br />
|-<br />
| POW Block || <code>0x0D</code> || <code>0x0B</code> || <code>pow</code><br />
|-<br />
| Cloud || <code>0x0E</code> || <code>0x0E</code> || <code>thunder_c</code><br />
|-<br />
| Bullet Bill || <code>0x0F</code> || <code>0x0D</code> || <code>killer</code><br />
|-<br />
| Triple Green Shell || <code>0x10</code> || {{Unknown|-}} || <code>kame_green_3</code><br />
|-<br />
| Triple Red Shell || <code>0x11</code> || {{Unknown|-}} || <code>kame_red_3</code><br />
|-<br />
| Triple Banana || <code>0x12</code> || {{Unknown|-}} || <code>banana_3</code><br />
|}<br />
<br />
== Objects ==<br />
<br />
Objects in the game world can be spawned at load time. The different types of such objects identified by a 16 bit code number. Please refer to [[Object#Object_Table]] for a list of object identifiers.<br />
<br />
== Languages ==<br />
<br />
At various points in the file system, languages are identified by a unique 1 letter identifier.<br />
<br />
{| class="wikitable sortable"<br />
|+ Language identifiers<br />
! Description !! Code Letter<br />
|-<br />
| English PAL || <code>E</code><br />
|-<br />
| French PAL || <code>F</code><br />
|-<br />
| German || <code>G</code><br />
|-<br />
| Italian || <code>I</code><br />
|-<br />
| Japanese || <code>J</code><br />
|-<br />
| Korean || <code>K</code><br />
|-<br />
| Spanish NTSC || <code>M</code><br />
|-<br />
| French NTSC || <code>Q</code><br />
|-<br />
| Spanish PAL || <code>S</code><br />
|-<br />
| English NTSC || <code>U</code><br />
|}<br />
<br />
== Terrain Type ==<br />
<br />
The effect of a collidable surface on a vehicle or item is governed by the [[KCL flag]]. Refer to that article for a list of identifier meanings.<br />
<br />
== User Interface ==<br />
<br />
The user interface code uses code numbers to identify all of the 'menu's and also separately to identify every individual screen within each menu. Except for when on a blank loading screen, the game is always considered to be within a menu. Each menu has a limited number of screens which it can display, possibly overlayed on top of one another. Each menu and screen also has unique code associated with it, which is how the game deduces what files to load for each screen. As such there is no one to one correspondence between code numbers and code names for the user interface.<br />
<br />
=== Menu Identifiers ===<br />
<br />
Menu code numbers seem to heavily reuse screens in order to share code. While each code number does represent a fundamentally different menu, many of them are virtually identical. Some differ only in how they initialise. The 'single player' menu in particular has many different access routes (e.g. from the main menu, from change character in a time trial) and each of these has a different code number. This allows the menu to behave differently (e.g. starting on a different screen).<br />
<br />
{| class="wikitable sortable"<br />
|+ Menu identifiers<br />
! Description !! Code Number !! Referenced Screens<br />
|-<br />
| Power off Wii (as soon as it loads) || <code>0x00</code> || <br />
|-<br />
|rowspan=2| Return to Wii Menu (as soon as it loads) || <code>0x04</code> || <br />
|-<br />
| <code>0x05</code> || <br />
|-<br />
| {{Unknown|-}} || <code>0x06</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x07</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x08</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x09</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x0A</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x0B</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x0C</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x0D</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x0E</code> || <code>0x00</code><br />
|-<br />
| {{Unknown|-}} || <code>0x0F</code> || <code>0x00</code><br />
|-<br />
| Creating new save prompt (at boot) || <code>0x10</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x5D</code><br />
|-<br />
| Corrupted save save prompt (at boot) || <code>0x11</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Country changed prompt (at boot) || <code>0x12</code> || <code>0x03</code>, <code>0x4F</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Game cannot be saved error (at boot) || <code>0x13</code> || <code>0x04</code>, <code>0x53</code>, <code>0x5D</code><br />
|-<br />
| Cannot access system memory error (at boot, softlock) || <code>0x14</code> || <code>0x05</code>, <code>0x5D</code><br />
|-<br />
| Cannot access Mii data error (at boot) || <code>0x15</code> || <code>0x06</code>, <code>0x5D</code><br />
|-<br />
| {{Unknown|-}} || <code>0x16</code> || <code>0x01</code><br />
|-<br />
|rowspan=2| Recommend 60Hz not 50Hz (at boot) || <code>0x17</code> || <code>0x02</code><br />
|-<br />
| <code>0x18</code> || <code>0x02</code><br />
|-<br />
| Panorama at start of Grand Prix || <code>0x19</code> || <code>0x07</code><br />
|-<br />
| Panorama at start of Versus Race || <code>0x1A</code> || <code>0x08</code><br />
|-<br />
| Panorama at start of Balloon Battle || <code>0x1B</code> || <code>0x09</code><br />
|-<br />
| Panorama at start of mission mode boss || <code>0x1C</code> || <code>0x0A</code><br />
|-<br />
| Panorama at start of Competition boss || <code>0x1D</code> || <code>0x0B</code><br />
|-<br />
| Grand Prix gameplay || <code>0x1E</code> || <code>0x0C</code>, <code>0x17</code>, <code>0x20</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Time Trial gameplay || <code>0x1F</code> || <code>0x0D</code>, <code>0x19</code>, <code>0x21</code>, <code>0x29</code>, <code>0x2B</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Single player Versus gameplay || <code>0x20</code> || <code>0x0E</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Two player Versus gameplay || <code>0x21</code> || <code>0x0F</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Three player Versus gameplay || <code>0x22</code> || <code>0x10</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Four player Versus gameplay || <code>0x23</code> || <code>0x11</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code><br />
|-<br />
| Single player Team Versus gameplay || <code>0x24</code> || <code>0x0E</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Two player Team Versus gameplay || <code>0x25</code> || <code>0x0F</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Three player Team Versus gameplay || <code>0x26</code> || <code>0x10</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Four player Team Versus gameplay || <code>0x27</code> || <code>0x11</code>, <code>0x18</code>, <code>0x22</code>, <code>0x2C</code>, <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code><br />
|-<br />
| Single player Battle gameplay || <code>0x28</code> || <code>0x12</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Two player Battle gameplay || <code>0x29</code> || <code>0x13</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Three player Battle gameplay || <code>0x2A</code> || <code>0x14</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Four player Battle gameplay || <code>0x2B</code> || <code>0x15</code>, <code>0x1A</code>, <code>0x23</code>, <code>0x24</code>, <code>0x2C</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code><br />
|-<br />
| Mission Mode gameplay || <code>0x2C</code> || <code>0x16</code>, <code>0x1B</code>, <code>0x25</code>, <code>0x2C</code>, <code>0x3A</code><br />
|-<br />
| Competition gameplay || <code>0x2D</code> || <code>0x16</code>, <code>0x1B</code>, <code>0x26</code>, <code>0x2A</code>, <code>0x35</code>, <code>0x3A</code><br />
|-<br />
| Grand Prix replay || <code>0x2E</code> || <code>0x2C</code>, <code>0x36</code>, <code>0x38</code>, <code>0x3A</code><br />
|-<br />
| Time Trial instant replay || <code>0x2F</code> || <code>0x21</code>, <code>0x2B</code>, <code>0x37</code>, <code>0x39</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Ghost Race Time Trial gameplay (unused?) || <code>0x30</code> || <code>0x0D</code>, <code>0x1C</code>, <code>0x1D</code>, <code>0x1E</code>, <code>0x27</code>, <code>0x28</code>, <code>0x2C</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code><br />
|-<br />
| Ghost Race Time Trial gameplay || <code>0x31</code> || <code>0x0D</code>, <code>0x1C</code>, <code>0x1D</code>, <code>0x1E</code>, <code>0x27</code>, <code>0x28</code>, <code>0x2C</code>, <code>0x2D</code>, <code>0x2E</code>, <code>0x3A</code>, <code>0x88</code><br />
|-<br />
| Time Trial watch ghost (from Mario Kart Channel) || <code>0x32</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Time Trial watch ghost (from downloaded ghost data list) || <code>0x33</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Time Trial watch ghost (from single player menu) || <code>0x34</code> || <code>0x1F</code>, <code>0x2C</code>, <code>0x37</code>, <code>0x3A</code>, <code>0xA7</code><br />
|-<br />
| Award ceremony after Grand Prix || <code>0x35</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| Award ceremony after Versus Race || <code>0x36</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| {{Unknown|Probably an award ceremony}} || <code>0x37</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| {{Unknown|Probably an award ceremony}} || <code>0x38</code> || <code>0x3B</code>, <code>0x3C</code><br />
|-<br />
| Credits Part 1 || <code>0x39</code> || <code>0x3D</code><br />
|-<br />
| Credits Part 1 (true end) || <code>0x3A</code> || <code>0x3D</code><br />
|-<br />
| Credits Part 2 || <code>0x3B</code> || <code>0x3D</code>, <code>0x3E</code><br />
|-<br />
| Credits Part 2 (true end) || <code>0x3C</code> || <code>0x3D</code>, <code>0x3E</code><br />
|-<br />
| Congratulations prompt after beating Grand Prix mode || <code>0x3D</code> || <code>0x3F</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x53</code>, <code>0x7F</code><br />
|-<br />
| Congratulations prompt after fully beating Grand Prix mode || <code>0x3E</code> || <code>0x3F</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x53</code>, <code>0x7F</code><br />
|-<br />
| Main Menu (when coming from demo or credits) || <code>0x3F</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming from reset) || <code>0x40</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming back from game menus) || <code>0x41</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (when coming from Mii select for new license) || <code>0x42</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Main Menu (from somewhere to do with licenses) || <code>0x43</code> || <code>0x4D</code>, <code>0x52</code>, <code>0x54</code>, <code>0x55</code>, <code>0x56</code>, <code>0x57</code>, <code>0x58</code>, <code>0x59</code>, <code>0x5A</code>, <code>0x5E</code>, <code>0x65</code><br />
|-<br />
| Demo || <code>0x44</code> || <code>0x3A</code>, <code>0x5F</code><br />
|-<br />
| Mii Select || <code>0x45</code> || <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code><br />
|-<br />
| Mii Select || <code>0x46</code> || <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code><br />
|-<br />
| License Settings || <code>0x47</code> || <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5D</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x66</code>, <code>0x67</code>, <code>0x68</code>, <code>0xCE</code>, <code>0xCF</code>, <code>0xD0</code>, <code>0xD1</code>, <code>0xD2</code><br />
|-<br />
| Single Player (coming from Main Menu) || <code>0x48</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Time Trial change character) || <code>0x49</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Time Trial change course) || <code>0x4A</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Versus Race) || <code>0x4B</code> || <code>0x4B</code>, <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Battle) || <code>0x4C</code> || <code>0x4B</code>, <code>0x4E</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Mission Mode change mission, softlock) || <code>0x4D</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x53</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x69</code>, <code>0x6A</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x70</code>, <code>0x71</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x76</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from Mario Kart Channel challenge ghost) || <code>0x4E</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from leaderboard challenge ghost) || <code>0x4F</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| Single Player (coming from ghost data list challenge ghost) || <code>0x50</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xA7</code><br />
|-<br />
| || <code>0x51</code> || <code>0x4F</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB6</code><br />
|-<br />
| || <code>0x52</code> || <code>0x4F</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB1</code>, <code>0xB2</code><br />
|-<br />
| || <code>0x53</code> || <code>0x4F</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB1</code>, <code>0xB2</code><br />
|-<br />
| Local Multiplayer || <code>0x54</code> || <code>0x4B</code>, <code>0x4C</code>, <code>0x4D</code>, <code>0x52</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x61</code>, <code>0x62</code>, <code>0x63</code>, <code>0x64</code>, <code>0x6B</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x72</code>, <code>0x73</code>, <code>0x74</code>, <code>0x75</code>, <code>0x77</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x80</code>, <code>0x81</code>, <code>0x82</code>, <code>0x83</code><br />
|-<br />
| Single Player Wi-Fi || <code>0x55</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi (from disconnected at globe or friend room) || <code>0x56</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi (from find a friend) || <code>0x57</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Single Player Wi-Fi Versus voting || <code>0x58</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Battle voting || <code>0x59</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi select guest Mii || <code>0x5A</code> || <code>0x52</code>, <code>0x5E</code>, <code>0x60</code>, <code>0x61</code>, <code>0x62</code>, <code>0x63</code>, <code>0x64</code>, <code>0x8A</code><br />
|-<br />
| Two Player Wi-Fi || <code>0x5B</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Two Player Wi-Fi (from disconnected at globe or friend room) || <code>0x5C</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| {{Unknown}} || <code>0x5D</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x81</code>, <code>0x82</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8B</code>, <code>0x8C</code>, <code>0x8D</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Two Player Wi-Fi Versus voting || <code>0x5E</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Battle voting || <code>0x5F</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Versus voting || <code>0x60</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Versus voting || <code>0x61</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Battle voting || <code>0x62</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Battle voting || <code>0x63</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown}} || <code>0x64</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown}} || <code>0x65</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown}} || <code>0x66</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| {{Unknown}} || <code>0x67</code> || <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5C</code>, <code>0x5E</code>, <code>0x78</code>, <code>0x79</code>, <code>0x7F</code>, <code>0x88</code>, <code>0x90</code>, <code>0x91</code>, <code>0x92</code><br />
|-<br />
| Single Player Wi-Fi Versus gameplay || <code>0x68</code> || <code>0x31</code>, <code>0x3A</code>, <code>0x40</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Versus gameplay || <code>0x69</code> || <code>0x31</code>, <code>0x3A</code>, <code>0x41</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Versus live view || <code>0x6A</code> || <code>0x3A</code>, <code>0x48</code>, <code>0x49</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Versus live view || <code>0x6B</code> || <code>0x3A</code>, <code>0x48</code>, <code>0x49</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Battle gameplay || <code>0x6C</code> || <code>0x12</code>, <code>0x31</code>, <code>0x33</code>, <code>0x3A</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Battle gameplay || <code>0x6D</code> || <code>0x13</code>, <code>0x31</code>, <code>0x33</code>, <code>0x3A</code>, <code>0x45</code>, <code>0x46</code>, <code>0x47</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Battle live view || <code>0x6E</code> || <code>0x33</code>, <code>0x3A</code>, <code>0x48</code>, <code>0x4A</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Battle live view || <code>0x6F</code> || <code>0x33</code>, <code>0x3A</code>, <code>0x48</code>, <code>0x4A</code>, <code>0x51</code>, <code>0x88</code>, <code>0x93</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Versus gameplay || <code>0x70</code> || <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code>, <code>0x42</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Room Team Versus gameplay || <code>0x71</code> || <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code>, <code>0x42</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Baloon Battle gameplay || <code>0x72</code> || <code>0x12</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Single Player Wi-Fi Friend Coin Runner gameplay || <code>0x73</code> || <code>0x12</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Versus gameplay || <code>0x74</code> || <code>0x2F</code>, <code>0x30</code>, <code>0x3A</code>, <code>0x43</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Room Team Versus gameplay || <code>0x75</code> || <code>0x2F</code>, <code>0x32</code>, <code>0x3A</code>, <code>0x43</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Baloon Battle gameplay || <code>0x76</code> || <code>0x13</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Two Player Wi-Fi Friend Coin Runner gameplay || <code>0x77</code> || <code>0x13</code>, <code>0x33</code>, <code>0x34</code>, <code>0x3A</code>, <code>0x44</code>, <code>0x48</code>, <code>0x51</code>, <code>0x88</code>, <code>0x94</code><br />
|-<br />
| Wi-Fi disconnected prompt (for error codes?) || <code>0x78</code> || <code>0x5D</code>, <code>0x89</code><br />
|-<br />
| Wi-Fi disconnected prompt (general dc) || <code>0x79</code> || <code>0x5D</code>, <code>0x89</code><br />
|-<br />
| Mario Kart Channel (from main menu) || <code>0x7A</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel (from Time Trial check rankings) || <code>0x7B</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel (from downloaded ghost data list) || <code>0x7C</code> || <code>0x4D</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xA2</code>, <code>0xA3</code>, <code>0xA4</code><br />
|-<br />
| Mario Kart Channel leaderboards || <code>0x7D</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x6E</code>, <code>0x6F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x95</code>, <code>0xA7</code>, <code>0xA8</code>, <code>0xAA</code>, <code>0xAB</code>, <code>0xAC</code>, <code>0xAD</code>, <code>0xAE</code>, <code>0xAF</code><br />
|-<br />
| Mario Kart Channel competition leaderboard || <code>0x7E</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x95</code>, <code>0xA9</code>, <code>0xAA</code>, <code>0xAB</code>, <code>0xAE</code>, <code>0xAF</code>, <code>0xB0</code><br />
|-<br />
| Ghost Race (with ghost data ready) || <code>0x7F</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x9F</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Ghost Race (without ghost data ready) || <code>0x80</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0x9F</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Ghost Race next race || <code>0x81</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0xA0</code>, <code>0xA1</code><br />
|-<br />
| Downloaded Ghost Data List || <code>0x82</code> || <code>0x4D</code>, <code>0x4F</code>, <code>0x51</code>, <code>0x5E</code>, <code>0xA7</code>, <code>0xB3</code>, <code>0xB4</code>, <code>0xB5</code><br />
|-<br />
| Friends List (from Mario Kart Channel or find friend) || <code>0x83</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8E</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Friends List (from Mario Kart Channel or find friend) || <code>0x84</code> || <code>0x4C</code>, <code>0x4D</code>, <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x76</code>, <code>0x7F</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x87</code>, <code>0x88</code>, <code>0x89</code>, <code>0x8E</code>, <code>0x8F</code>, <code>0x95</code>, <code>0x96</code>, <code>0x97</code>, <code>0x98</code>, <code>0x99</code>, <code>0x9A</code>, <code>0x9B</code>, <code>0x9C</code>, <code>0x9D</code>, <code>0x9E</code>, <code>0xA5</code>, <code>0xA6</code>, <code>0xA7</code><br />
|-<br />
| Competition (from Mario Kart Channel) || <code>0x85</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xB7</code>, <code>0xB8</code>, <code>0xBB</code><br />
|-<br />
| Competition (from change character) || <code>0x86</code> || <code>0x4B</code>, <code>0x4D</code>, <code>0x51</code>, <code>0x6B</code>, <code>0x6C</code>, <code>0x6D</code>, <code>0x7F</code>, <code>0xB7</code>, <code>0xB8</code>, <code>0xBB</code><br />
|-<br />
| Competition submit record || <code>0x87</code> || <code>0x4E</code>, <code>0x4F</code>, <code>0x50</code>, <code>0x51</code>, <code>0x5E</code>, <code>0x84</code>, <code>0x85</code>, <code>0x86</code>, <code>0x88</code>, <code>0x89</code>, <code>0xB9</code><br />
|-<br />
| {{Unknown|Competition for Wii Wheels Only (unused?)}} || <code>0x88</code> || <code>0x5B</code>, <code>0xBA</code><br />
|-<br />
| {{Unknown|Competition for Wii Wheels Only for bosses? (unused?)}} || <code>0x89</code> || <code>0x5B</code>, <code>0xBA</code><br />
|-<br />
| Invite Friends via Messageboard || <code>0x8A</code> || <code>0x4F</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xBD</code>, <code>0xBE</code>, <code>0xBF</code><br />
|-<br />
| Download Latest Data || <code>0x8B</code> || <code>0x50</code>, <code>0x51</code>, <code>0x52</code>, <code>0x5E</code>, <code>0xBC</code><br />
|-<br />
| Options (license screen) || <code>0x8C</code> || <code>0x4D</code>, <code>0x4E</code>, <code>0x5D</code>, <code>0xC0</code>, <code>0xC1</code>, <code>0xC2</code>, <code>0xC3</code>, <code>0xC4</code>, <code>0xC5</code>, <code>0xC6</code>, <code>0xC7</code>, <code>0xC8</code>, <code>0xC9</code>, <code>0xCA</code>, <code>0xCB</code>, <code>0xCC</code><br />
|-<br />
| Add Mario Kart Channel || <code>0x8D</code> || <code>0x5D</code>, <code>0xCA</code>, <code>0xCB</code>, <code>0xCC</code><br />
|-<br />
| Choose Region || <code>0x8E</code> || <code>0x5D</code>, <code>0xC5</code>, <code>0xCC</code><br />
|-<br />
| Join Message Service || <code>0x8F</code> || <code>0x4E</code>, <code>0x5D</code>, <code>0xC2</code>, <code>0xC3</code>, <code>0xC6</code>, <code>0xC7</code>, <code>0xC8</code>, <code>0xC9</code>, <code>0xCC</code><br />
|-<br />
| Unlock message (orange) || <code>0x90</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (orange) || <code>0x91</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (blue) || <code>0x92</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Unlock message (yellow) || <code>0x93</code> || <code>0x5B</code>, <code>0x5E</code>, <code>0x7F</code>, <code>0xCD</code><br />
|-<br />
| Debug? Mission mode (broken single player menu) || <code>0x94</code> || <code>0x7A</code>, <code>0x7B</code>, <code>0x7C</code>, <code>0x7D</code>, <code>0x7E</code><br />
|-<br />
| No Game Disc (Wii Menu Channel only) || <code>0x95</code> || {{Unknown}}<br />
|-<br />
| Could Not Access System Memory (Wii Menu Channel only) || <code>0x96</code> || {{Unknown}}<br />
|-<br />
| Select License (Wii Menu Channel only) || <code>0x9D</code> || {{Unknown}}<br />
|-<br />
| Options (Wii Menu Channel only) || <code>0xAA</code> || {{Unknown}}<br />
|}<br />
<br />
=== Screen Identifiers ===<br />
<br />
Screens typically represent either one visually complete user interface (for example, the character selection interface) or a background element (for example, the borders at the top and bottom of the screen). Up to 10 screens can be overlayed on top of each other by the user interface code. Some screens do not contain any visual elements and instead exist to perform background work (for example, loading ghost data).<br />
<br />
{| class="wikitable sortable"<br />
|+ Screen Identifiers<br />
! Description !! Code Number<br />
|-<br />
| Empty, it seems || <code>0x00</code><br />
|-<br />
| {{Unknown}} || <code>0x01</code><br />
|-<br />
| 60Hz suggestion || <code>0x02</code><br />
|-<br />
| Data corrupt || <code>0x03</code><br />
|-<br />
| Can't save || <code>0x04</code><br />
|-<br />
| System memory corrupt || <code>0x05</code><br />
|-<br />
| Mii Data corrupt || <code>0x06</code><br />
|-<br />
| Grand Prix pan overlay || <code>0x07</code><br />
|-<br />
| VS pan overlay || <code>0x08</code><br />
|-<br />
| Battle pan overlay || <code>0x09</code><br />
|-<br />
| Mission pan overlay || <code>0x0A</code><br />
|-<br />
| Tourney pan overlay || <code>0x0B</code><br />
|-<br />
| GP Race interface || <code>0x0C</code><br />
|-<br />
| TT Race interface || <code>0x0D</code><br />
|-<br />
| 1P VS Race interface || <code>0x0E</code><br />
|-<br />
| 2P VS Race interface || <code>0x0F</code><br />
|-<br />
| 3P VS Race interface || <code>0x10</code><br />
|-<br />
| 4P VS race interface || <code>0x11</code><br />
|-<br />
| 1P Battle interface || <code>0x12</code><br />
|-<br />
| 2P Battle interface || <code>0x13</code><br />
|-<br />
| 3P Battle interface || <code>0x14</code><br />
|-<br />
| 4P Battle interface || <code>0x15</code><br />
|-<br />
| Mission/Tourney interface || <code>0x16</code><br />
|-<br />
| GP pause menu || <code>0x17</code><br />
|-<br />
| VS Race pause menu || <code>0x18</code><br />
|-<br />
| TT Race pause menu || <code>0x19</code><br />
|-<br />
| Battle pause menu || <code>0x1A</code><br />
|-<br />
| Tournament pause menu || <code>0x1B</code><br />
|-<br />
| Ghost Race pause menu || <code>0x1C</code><br />
|-<br />
| Abandon Ghost Race? || <code>0x1D</code><br />
|-<br />
| Quit Ghost Race? || <code>0x1E</code><br />
|-<br />
| Ghost replay pause menu || <code>0x1F</code><br />
|-<br />
| GP end screen (Next race, Watch replay, Quit) || <code>0x20</code><br />
|-<br />
| TT end screen (retry, change course, etc) || <code>0x21</code><br />
|-<br />
| VS end screen (Next race, Quit) || <code>0x22</code><br />
|-<br />
| Battle end screen (Next battle, Quit) || <code>0x23</code><br />
|-<br />
| Battld end screen (Next only, to final results) || <code>0x24</code><br />
|-<br />
| Mission end screen (retry, choose mission, quit. Unused). || <code>0x25</code><br />
|-<br />
| Tourney end screen || <code>0x26</code><br />
|-<br />
| Ghost Race end screen (Next/quit) || <code>0x27</code><br />
|-<br />
| Go to Friend Roster? || <code>0x28</code><br />
|-<br />
| You beat your friend's record! Send your ghost? || <code>0x29</code><br />
|-<br />
| Send tourney record || <code>0x2A</code><br />
|-<br />
| Check rankings? || <code>0x2B</code><br />
|-<br />
| Are you sure you want to quit? || <code>0x2C</code><br />
|-<br />
| Splits after TT || <code>0x2D</code><br />
|-<br />
| Leaderboard after TT || <code>0x2E</code><br />
|-<br />
| GP/VS score update screen || <code>0x2F</code><br />
|-<br />
| GP/VS score overall screen || <code>0x30</code><br />
|-<br />
| Online race point update screen || <code>0x31</code><br />
|-<br />
| Team VS point overall screen || <code>0x32</code><br />
|-<br />
| Battle point update screen || <code>0x33</code><br />
|-<br />
| Battle point overall screen || <code>0x34</code><br />
|-<br />
| Competition personal leaderboard || <code>0x35</code><br />
|-<br />
| Grand Prix replay interface || <code>0x36</code><br />
|-<br />
| Ghost Race interface || <code>0x37</code><br />
|-<br />
| Grand Prix replay pause || <code>0x38</code><br />
|-<br />
| TT Immediate Replay pause || <code>0x39</code><br />
|-<br />
| Supporting panel (Present in many modes in-race, 2nd element) || <code>0x3A</code><br />
|-<br />
| Probably award interface (untested) || <code>0x3B</code><br />
|-<br />
| Probably congrats screen (untested) || <code>0x3C</code><br />
|-<br />
| Credits VS interface (untested) || <code>0x3D</code><br />
|-<br />
| Credits latter interface (untested) || <code>0x3E</code><br />
|-<br />
| Congrats after credits || <code>0x3F</code><br />
|-<br />
| WiFi Race Interface || <code>0x40</code><br />
|-<br />
| 2P WiFi Race Interface || <code>0x41</code><br />
|-<br />
| WiFi Friend Room Race Interface || <code>0x42</code><br />
|-<br />
| WiFi Friend Room Team Race Interface || <code>0x43</code><br />
|-<br />
| Congratuations! at end of friend room (untested) || <code>0x44</code><br />
|-<br />
| Dummy? Seems to immediately load <code>0x46</code> || <code>0x45</code><br />
|-<br />
| Online Race End (next race/quit/friend roster) || <code>0x46</code><br />
|-<br />
| Quit online race? || <code>0x47</code><br />
|-<br />
| Please wait a moment... (end of online race) || <code>0x48</code><br />
|-<br />
| Live VS view interface || <code>0x49</code><br />
|-<br />
| Live battle view interface (untested) || <code>0x4A</code><br />
|-<br />
| Start game okay? || <code>0x4B</code><br />
|-<br />
| Text box with spinner || <code>0x4C</code><br />
|-<br />
| Drift description/Info popup || <code>0x4D</code><br />
|-<br />
| Vote/random selector || <code>0x4E</code><br />
|-<br />
| Reading ghost data/screen with text + spin wait || <code>0x4F</code><br />
|-<br />
| Connecting to Nintendo WFC... || <code>0x50</code><br />
|-<br />
| Generic text box, full screen, press A || <code>0x51</code><br />
|-<br />
| Text box with one prompt (Multiple uses) || <code>0x52</code><br />
|-<br />
| Post photo to messageboard? || <code>0x53</code><br />
|-<br />
| Behind main menu? || <code>0x54</code><br />
|-<br />
| Dummy? Maybe not low battery. Goes to 5A? || <code>0x55</code><br />
|-<br />
| Low battery notification || <code>0x56</code><br />
|-<br />
| Title Screen || <code>0x57</code><br />
|-<br />
| Behind main menu? || <code>0x58</code><br />
|-<br />
| Demo movie || <code>0x59</code><br />
|-<br />
| Main Menu || <code>0x5A</code><br />
|-<br />
| Behind unlocks? || <code>0x5B</code><br />
|-<br />
| Further behind multiplayer menus? || <code>0x5C</code><br />
|-<br />
| Behind disconnects? || <code>0x5D</code><br />
|-<br />
| Behind multiplayer menus? || <code>0x5E</code><br />
|-<br />
| Blinking press A || <code>0x5F</code><br />
|-<br />
| Select Mii || <code>0x60</code><br />
|-<br />
| Active controller display || <code>0x61</code><br />
|-<br />
| Player controller opt in || <code>0x62</code><br />
|-<br />
| Pair Wii Remotes || <code>0x63</code><br />
|-<br />
| Player controller opt in complete (OK/Change) || <code>0x64</code><br />
|-<br />
| License select || <code>0x65</code><br />
|-<br />
| Mii Changed || <code>0x66</code><br />
|-<br />
| License Settings || <code>0x67</code><br />
|-<br />
| Erase license || <code>0x68</code><br />
|-<br />
| Single player menu || <code>0x69</code><br />
|-<br />
| Grand Prix class select || <code>0x6A</code><br />
|-<br />
| character select || <code>0x6B</code><br />
|-<br />
| bike select || <code>0x6C</code><br />
|-<br />
| auto/manual || <code>0x6D</code><br />
|-<br />
| Cup select screen || <code>0x6E</code><br />
|-<br />
| Course select sub screen || <code>0x6F</code><br />
|-<br />
| Select ghost screen || <code>0x70</code><br />
|-<br />
| Select ghost screen || <code>0x71</code><br />
|-<br />
| Select Solo/Team VS || <code>0x72</code><br />
|-<br />
| Select Race Rules || <code>0x73</code><br />
|-<br />
| Play with these teams || <code>0x74</code><br />
|-<br />
| Select Battle Mode || <code>0x75</code><br />
|-<br />
| Select Vehicle (Battle) || <code>0x76</code><br />
|-<br />
| Select Battle Rules || <code>0x77</code><br />
|-<br />
| Select Battle Cup || <code>0x78</code><br />
|-<br />
| Select Battle Course || <code>0x79</code><br />
|-<br />
| Mysterious screen with 8 buttons on the left (Unused mission mode) || <code>0x7A</code><br />
|-<br />
| Mysterious screen with 8 long buttons on the right || <code>0x7B</code><br />
|-<br />
| Messagebox with two buttons below || <code>0x7C</code><br />
|-<br />
| "Drift Mode" Huge box with only one drift choice! || <code>0x7D</code><br />
|-<br />
| Single text box with a picture below. || <code>0x7E</code><br />
|-<br />
| {{Unknown|Present on single player menus}} || <code>0x7F</code><br />
|-<br />
| Select VS/Battle (multiplayer) || <code>0x80</code><br />
|-<br />
| Multiplayer vehicle select || <code>0x81</code><br />
|-<br />
| Multiplayer drift select || <code>0x82</code><br />
|-<br />
| Multiplayer team select || <code>0x83</code><br />
|-<br />
| part of connecting...? || <code>0x84</code><br />
|-<br />
| WFC first play || <code>0x85</code><br />
|-<br />
| Allow data to be sent? || <code>0x86</code><br />
|-<br />
| Disconnects you || <code>0x87</code><br />
|-<br />
| Seems to draw behind online races (panel 2) || <code>0x88</code><br />
|-<br />
| Error connecting to WFC || <code>0x89</code><br />
|-<br />
| Dummy? Seems to redirect to <code>0x52</code>. || <code>0x8A</code><br />
|-<br />
| WW/Regional/Friends || <code>0x8B</code><br />
|-<br />
| WW VS/Battle Select || <code>0x8C</code><br />
|-<br />
| Friends Menu || <code>0x8D</code><br />
|-<br />
| {{Unknown}} || <code>0x8E</code><br />
|-<br />
| Loads Char Select || <code>0x8F</code><br />
|-<br />
| Timer || <code>0x90</code><br />
|-<br />
| VR screen || <code>0x91</code><br />
|-<br />
| All course votes || <code>0x92</code><br />
|-<br />
| Present in live view? || <code>0x93</code><br />
|-<br />
| Present in online race? || <code>0x94</code><br />
|-<br />
| Present in online menus? || <code>0x95</code><br />
|-<br />
| Friend Roster || <code>0x96</code><br />
|-<br />
| Not Friends Yet || <code>0x97</code><br />
|-<br />
| Remove Friend Code || <code>0x98</code><br />
|-<br />
| Removing Friend Code... || <code>0x99</code><br />
|-<br />
| {{Unknown}} || <code>0x9A</code><br />
|-<br />
| Present in online menus? || <code>0x9B</code><br />
|-<br />
| Dummy? Loads <code>0x9D</code> || <code>0x9C</code><br />
|-<br />
| Friend Room! || <code>0x9D</code><br />
|-<br />
| Friend Room messages || <code>0x9E</code><br />
|-<br />
| Dummy? Loads <code>0xA6</code> || <code>0xA5</code><br />
|-<br />
| Enter FC || <code>0xA6</code><br />
|-<br />
| Resides behind many TT modes. || <code>0xA7</code><br />
|-<br />
| mk channel ghost histogram screen || <code>0xA8</code><br />
|-<br />
| mk channel behind <code>0xAD</code> || <code>0xAC</code><br />
|-<br />
| mk channel with a selected ghost (challenge/watch) || <code>0xAD</code><br />
|-<br />
| Competition for Wii Wheels only || <code>0xBA</code><br />
|-<br />
| Options || <code>0xC0</code><br />
|-<br />
| Nintendo Wi-Fi Connection options || <code>0xC1</code><br />
|-<br />
| Information box with "Next", can chain to self || <code>0xC2</code><br />
|-<br />
| Information box with 2 buttons prompt. || <code>0xC3</code><br />
|-<br />
| Information box with 3 prompts. (???) || <code>0xC4</code><br />
|-<br />
| Return to system menu to set region? || <code>0xC5</code><br />
|-<br />
| Flag/Region Display || <code>0xC6</code><br />
|-<br />
| Large info box with spinner || <code>0xC7</code><br />
|-<br />
| Large info box with A prompt || <code>0xC8</code><br />
|-<br />
| Info box with OK prompt || <code>0xC9</code><br />
|-<br />
| Add Mario Kart Channel || <code>0xCA</code><br />
|-<br />
| Add Mario Kart Channel prompt || <code>0xCB</code><br />
|-<br />
| Draws beneath Options menu || <code>0xCC</code><br />
|-<br />
| Overall Records || <code>0xCE</code><br />
|-<br />
| Favourites || <code>0xCF</code><br />
|-<br />
| Friend Records || <code>0xD0</code><br />
|-<br />
| WFC Records || <code>0xD1</code><br />
|-<br />
| Other Records || <code>0xD2</code><br />
|}<br />
<br />
=== Text ===<br />
<br />
All text displayed as part of the user interface is referred to by a 16 bit code number. This is used to lookup the message in [[BMG]] files. A list of all code numbers and corresponding text can be found at [https://szs.wiimm.de/download/bmg/ wiimm.de].<br />
<br />
[[Category:Technical Information]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=High_Data_Rate&diff=134435High Data Rate2018-05-06T14:16:39Z<p>Chadderz: Created page with "'''High Data Rate''' is a small modification to networking in Mario Kart Wii made by MrBean35000vr and Chadderz. It causes MKWii_Network_Protocol#Main_records_.2..."</p>
<hr />
<div>'''High Data Rate''' is a small modification to networking in [[Mario Kart Wii]]<br />
made by [[MrBean35000vr]] and [[Chadderz]]. It causes<br />
[[MKWii_Network_Protocol#Main_records_.28.22RACE.22_records.29|RACE]] data<br />
packets to be sent by the console much more often. The notable side effect of<br />
this is a reduction in perceived 'lag' online. For example, red shell items will<br />
hit their targets a lot faster and more smoothly from the user's perspective.<br />
<br />
== Behaviour ==<br />
<br />
The modification occurs in a method inside [[StaticR.rel]] (address<br />
RMCE:806539A8/RMCJ:8065749C/RMCP:80657E30) responsible for sending the<br />
[[MKWii_Network_Protocol#Main_records_.28.22RACE.22_records.29|RACE]] packets.<br />
Normally, the game forms a RACE packet every frame, then calls the method once<br />
per frame. The method first checks that at least 17ms have passed since the last<br />
time it ran. If so it starts looking through the list of peers that it is<br />
connected to and tries to send the RACE packet to a peer. If it succeeds it<br />
stops, otherwise it keeps looking for peers to send to until it has tried them<br />
all.<br />
<br />
High Data Rate changes the behaviour. First of all, it reduces the check to<br />
ensure at least 7ms have passed. The reasoning is that 17ms is possibly a<br />
mistake, as the method is in fact called once per visual frame, which will<br />
typically be once every 16.7ms. Therefore, the method may skip sending a packet<br />
on a given frame simply because less than 17ms have passed, even though the<br />
player has moved. Secondly, High Data Rate causes the method to keep looking for<br />
players to send messages to, even if it finds one. This means the method will<br />
send a message to every peer, rather than just one.<br />
<br />
The result of these changes is that in a 12 player room, the game goes from<br />
sending one RACE packet to any given peer every 22 frames on average to sending<br />
every frame. That means a reduction in latency of up to 360ms.<br />
<br />
== Effects ==<br />
<br />
From a player's perspective the effects of High Data Rate are:<br />
<br />
* Red Shells lock faster and hit more quickly.<br />
* Thunder Clouds pass accurately and quickly.<br />
* Dropped items appear more accurately without delay.<br />
* Bumping into other drivers is more accurate.<br />
* Thrown items seem to hit more accurate.<br />
* Position trackers are better synchronised.<br />
<br />
=== Asymmetric connections ===<br />
<br />
If one player has High Data Rate and connects to another player who does not, the game will still function correctly. The High Data Rate player will still send more data to the normal player, but the normal player will use the standard data rate. Consequently, the normal player will feel some of the benefits above and so will the High Data Rate player. For example, the High Data Rate player will find it easier to hit the normal player with Red Shells or Thunder Clouds, but the normal player will find it easier to bump or throw items at the High Data Rate player.<br />
<br />
=== Insufficient Connections ===<br />
<br />
If one player's Internet connection does not meet the Bandwidth requirements of High Data Rate, that player can start 'teleporting' and can end up appearing worse that if they did not have High Data Rate. They may also experience no trouble, so failing to meet the requirements is not a guarantee that there will be problems.<br />
<br />
== Latency and Bandwidth ==<br />
<br />
For comparison the following table shows information about how the data rates<br />
will differ between clients with the modification and clients without it. The Latency column shows the amount of time between a player action (such as firing an item) and a RACE packet being sent to all players about it. The Bandwidth column shows the amount of bandwidth used in both the upstream and downstream directions. All of the values in this table are shown as ranges and were derived analytically rather than measured.<br />
<br />
{| class="wikitable"<br />
|+ High Data Rate comparison<br />
!rowspan=2| Wiis !!colspan=2| Latency !!colspan=2| Bandwidth<br />
|-<br />
! Original !! New !! Original !! New<br />
|-<br />
| 2 || 17-33ms || 7-33ms || 0.04-0.25mbps || 0.04-0.25mbps<br />
|-<br />
| 4 || 51-100ms || 7-33ms || 0.04-0.25mbps || 0.13-0.74mbps<br />
|-<br />
| 6 || 85-167ms || 7-33ms || 0.04-0.25mbps || 0.22-1.23mbps<br />
|-<br />
| 8 || 119-233ms || 7-33ms || 0.04-0.25mbps || 0.31-1.72mbps<br />
|-<br />
| 10 || 153-300ms || 7-33ms || 0.04-0.25mbps || 0.40-2.21mbps<br />
|-<br />
| 12 || 187-367ms || 7-33ms || 0.04-0.25mbps || 0.49-2.70mbps<br />
|}<br />
<br />
Please note that the Latency column only covers the game's internal latency. There will still be network latency to transfer the packet to the peer before it arrives. So for example, a good connection between the UK and France has approximately 10ms of Internet latency. A connection from the EU to USA will have approximately 100ms of Internet latency. A connection from the USA to Japan will have approximately 150ms of Internet latency. A connection from the EU to Australia will have approximately 250ms of Internet latency. All of these values should be added to the internal latency to compute the delay between a game action (such as turning or firing an item) and the other player seeing the action.<br />
<br />
== GCT Code ==<br />
A [[Cheat Code|GCT]] version of the modification is as follows:<br />
<br />
<spoiler text="High Data Rate, NTSC-J">Please note that public rooms are<br />
disabled by this code.<pre><br />
High Data Rate NTSC-J [MrBean35000vr and Chadderz]<br />
<br />
04657514 28040007<br />
046575C8 3B400000<br />
0089935C 00000078<br />
00899365 00000078<br />
0089936B 00000078<br />
00899374 00000078<br />
008993DF 00000078<br />
008993E8 00000078<br />
008993EE 00000078<br />
008993F7 00000078<br />
</pre></spoiler><br />
<spoiler text="High Data Rate, NTSC-U">Please note that public rooms are<br />
disabled by this code.<pre><br />
High Data Rate NTSC-U [MrBean35000vr and Chadderz]<br />
<br />
04653A20 28040007<br />
04653AD4 3B400000<br />
00895B2C 00000078<br />
00895B35 00000078<br />
00895B3D 00000078<br />
00895B46 00000078<br />
00895BAF 00000078<br />
00895BB8 00000078<br />
00895BC0 00000078<br />
00895BC9 00000078<br />
</pre></spoiler><br />
<spoiler text="High Data Rate, PAL">Please note that public rooms are disabled<br />
by this code.<pre><br />
High Data Rate PAL [MrBean35000vr and Chadderz]<br />
<br />
04657EA8 28040007<br />
04657F5C 3B400000<br />
0089A1FC 00000078<br />
0089A205 00000078<br />
0089A20B 00000078<br />
0089A214 00000078<br />
0089A27F 00000078<br />
0089A288 00000078<br />
0089A28E 00000078<br />
0089A297 00000078<br />
</pre></spoiler><br />
<br />
[[Category:Cheat Codes]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Compiler&diff=134430Compiler2018-05-06T12:06:04Z<p>Chadderz: /* Multithreading */ Correct high/low information.</p>
<hr />
<div>[[Mario Kart Wii]] was written in C and C++ and then '''compiled''' to [[Assembly Code|PowerPC (PPC) Assembly Code]] by the '''Metrowerks CodeWarrior''' compiler. C and C++ code is not directly executable, but PPC Assembly Code can be run directly on the Wii's hardware. The distributed game contains only the PPC Assembly Code and it is likely that the original C and C++ code that the game was written in will never be made public. Understanding how the compiler works is therefore useful to gain an insight into what the original code may have looked like, and therefore guides the creation of new behaviour.<br />
<br />
== Compilation ==<br />
<br />
=== ABI ===<br />
<br />
''See also [https://en.wikipedia.org/wiki/Application_binary_interface Wikipedia's ABI article]''<br />
<br />
In order to allow code to be reusable, most compilers conform to an Application Binary Interface (ABI). This is a set of rules and conventions for how functions will be compiled. For Mario Kart Wii the Metrowerks CodeWarrior compiler seems to have conformed with the [http://www.nxp.com/files/32bit/doc/app_note/PPCEABI.pdf PPC EABI], an extension of the [https://www.polyomino.org.uk/.../Power-Arch-32-bit-ABI-supp-1.0-Embedded.pdf PPC ABI]. Some of these rules are outlined here.<br />
<br />
==== Register Convention ====<br />
<br />
''See also [https://en.wikipedia.org/wiki/Calling_convention Wikipedia's Calling Convention article]''<br />
<br />
[[Assembly Code|PowerPC]] has 32 general purpose integer registers and 32 general purpose floating point registers. These can store 32 bit integers and 64 bit floating point numbers respectively. Despite the 'general purpose' name, these have very strict usage conventions according to the ABI. PowerPC also has several special purpose registers which are optimised for storing very particular kinds of variables. Notably, there is the <code>lr</code> (link register), the <code>ctr</code> (count register) and the <code>cr</code>s (condition registers).<br />
<br />
{| class="wikitable"<br />
|+ ABI Register Convention<br />
|-<br />
! Register(s)<br />
! Role<br />
! Caller/Callee Save<br />
! Description<br />
|-<br />
| <code>r0</code><br />
| Temporary<br />
| Caller<br />
| A spare temporary register, somewhat awkard to use due to instruction set.<br />
|-<br />
| <code>r1</code><br />
| Stack Pointer<br />
| Callee<br />
| Stack pointer kept 8 byte aligned.<br />
|-<br />
| <code>r2</code><br />
| Read Only SDA<br />
| Constant<br />
| Pointer to the read only small data area + 0x8000; used for optimising loads to constants. The value of <code>r2</code> never changes throught program execution.<br />
|-<br />
| <code>r3-</code><code>r4</code><br />
| Arguments/Return Values<br />
| Caller<br />
|rowspan=2 | On function call, <code>r3</code> to <code>r10</code> contain the integer arguments to the function, in code order. If a function needs more arguments, these are stored in the caller's stack frame. If the function returns an integer value, it is stored in <code>r3</code> to <code>r4</code>. <code>r4</code> is only used for this purpose if the return value is a 64 bit number.<br />
|-<br />
| <code>r5</code>-<code>r10</code><br />
| Arguments<br />
| Caller<br />
|-<br />
| <code>r11</code>-<code>r12</code><br />
| Linker Reserved<br />
| Caller<br />
| On function call, <code>r11</code> and <code>r12</code> are never used to enable them to be used as temproaries by a dynamic linker if needed.<br />
|-<br />
| <code>r13</code><br />
| Read/Write SDA<br />
| Constant<br />
| Pointer to the read/write small data area + 0x8000; used for optimising reads and writes to global variables. The value of <code>r13</code> never changes throught program execution.<br />
|-<br />
| <code>r14</code>-<code>r31</code><br />
| Variables<br />
| Callee<br />
| r14 to r31 are used to store local variables.<br />
|-<br />
| <code>f0</code><br />
| Temporary<br />
| Caller<br />
| A spare temporary register.<br />
|-<br />
| <code>f1</code><br />
| Arguments/Return Value<br />
| Caller<br />
|rowspan=2 | On function call, <code>f1</code> to <code>f8</code> contain the floating point arguments to the function, in code order. If a function needs more arguments, these are stored in the caller's stack frame. If the function returns a floating point value, it is stored in <code>f1</code>.<br />
|-<br />
| <code>f2</code>-<code>f8</code><br />
| Arguments<br />
| Caller<br />
|-<br />
| <code>f9</code>-<code>f13</code><br />
| Temporaries<br />
| Calller<br />
| Spare temorary registers.<br />
|-<br />
| <code>f14</code>-<code>f31</code><br />
| Variables<br />
| Callee<br />
| <code>f14</code> to <code>f31</code> are used to store local variables.<br />
|}<br />
<br />
==== Stack Frame Convention ====<br />
<br />
''See also [https://en.wikipedia.org/wiki/Call_stack Wikipedia's Call Stack article]''<br />
<br />
In order to implement the function call abstraction in assembly code (which has no such concept), most systems use a call stack. The call stack gains a 'frame' every time a function starts, and loses one each time one ends. In the PPC ABI, <code>r1</code> always points to the 'top' of the call stack. Whenever a new function is called, the size of that function's stack frame is '''subtracted''' from the current value of <code>r1</code> to form the new <code>r1</code>. When the function returns, it adds the same amount back to <code>r1</code> to recover the original value of the stack pointer. Additionally, when the function starts, the old value of the stack pointer is stored at the value in memory addressed by the new stack pointer. That is to say, if you loaded the value addressed by <code>r1</code>, you always find the old stack pointer. Recursively, if you loaded the value at that address, you would find the stack pointer of the caller's caller. This procedure can be repeated meaning the stack forms a 'chain' of stack frames. This can be useful for debugging, allowing a debugger to inspect the frame of all functions that are currently executing, even if they are not the 'top' of the stack. The last entry in the stack (the first function called) has <code>0</code> in this value, so the chain is not infinite.<br />
<br />
The contents of the stack frame depend on the needs of the function. The shortest possible stack frame is 8 bytes, the longest observed is nearly 4 kilobytes. All used registers which are marked ''callee save'' must be stored in the stack frame. Additionally, any local variables created in the code must be stored there as well as the arguments to any call made by the function which do not fit in registers. Generally speaking the compiler is able to compute the 'worst case' stack frame size for each individual function and always uses that amount as the size when creating stack frames. Rarely, the compiler allocates too little space and then has a correction procedure in the middle of the function to adjust the size of the stack frame. This can happen if there is a dynamically sized local variable in the function, or if a local variable requires tighter alignment than 8 bytes.<br />
<br />
While the exact contents of a stack frame differ for each function, the order of different types of data is fixed.<br />
# The old stack frame value is at <code>r1</code>.<br />
# 4 bytes are left for the saved link register of functions that this function may call.<br />
# Any arguments to child functions which may be needed.<br />
# Any local variables as needed.<br />
# Callee saved floating point registers as needed.<br />
# Callee saved integer registers as needed.<br />
<br />
The only way to know the contents of the stack frame of a particular function is to analyse its code.<br />
<br />
=== Behaviour ===<br />
<br />
Compilers are complicated pieces of software and often have many optimisation passes used to improve the quality of the code. Nevertheless, in many cases the compiler's behaviour amounts to a 'pattern match'. In other words, a given piece of C or C++ code is translated to a given set of assembly code. Some of these patterns are explained here.<br />
<br />
==== Function Prologue ====<br />
<br />
The start of each function must maintain the stack an arguments in accodance with the ABI. There are a few commonly seen patterns at the beginning of each function. The most common is something like:<br />
<br />
stwu r1, -'''N'''(r1)<br />
mflr r0<br />
stw r0, '''N'''+4(r1)<br />
<br />
This short sequence creates an ABI conformant stack frame of size '''N'''. This is typically followed by a sequence of instructions to save the callee saved registers. Common variations include directly storing:<br />
<br />
stw r31, '''N'''-4(r1)<br />
stw r30, '''N'''-8(r1)<br />
stw r29, '''N'''-12(r1)<br />
...<br />
<br />
The store more words instruction:<br />
<br />
stmw r29, '''N'''-12(r1)<br />
<br />
Or a helper function, which looks something like:<br />
<br />
addi r11, r1, '''N'''<br />
bl _savegpr_29<br />
<br />
The destination of the branch in this case is a small piece of reusable assembly code which looks something like:<br />
<br />
'''...'''<br />
_savegpr_29:<br />
stw r29, -12(r11)<br />
_savegpr_30:<br />
stw r30, -8(r11)<br />
_savegpr_31:<br />
stw r31, -4(r11)<br />
blr<br />
<br />
If the local variables in a function require tighter alginment than 8 bytes, the compiler must align <code>r1</code> to an address which is a multiple of 8. For example, the following function in GNU C:<br />
<br />
void f(void) {<br />
int example_variable[8] __attribute__((aligned(32));<br />
'''...'''<br />
}<br />
<br />
The compiler therefore has a special function prolog sequence for such cases. For example, to create a stack frame of size '''N''' with 32 byte alignment, the compiler typically uses the following sequence of instructions:<br />
<br />
clrlwi r11, r1, 27<br />
mr r12, r1<br />
subfic r11, r11, -'''N'''<br />
stwux r1, r1, r11<br />
mflr r0<br />
stw r0, 4(r12)<br />
<br />
==== Function Epilogue ====<br />
<br />
The end of each function must reverse the actions taken at the start of the function, in accordance with the ABI. The common pattern to remove a frame of size '''N''' is:<br />
<br />
lwz r0, '''N'''+4(r1)<br />
addi r1, r1, '''N'''<br />
mtlr r0<br />
blr<br />
<br />
This snipped is typically proceeded by a few instruction to restore the callee saved registers which match the corresponding snippets listed [[#Function Prologue|above]]. It can be directed loading:<br />
<br />
lwz r29, '''N'''-12(r1)<br />
lwz r30, '''N'''-8(r1)<br />
lwz r31, '''N'''-4(r1)<br />
<br />
Or alternatively the load more words instruction:<br />
<br />
lmw r29, '''N'''-12(r1)<br />
<br />
Or finally the helper function variation:<br />
<br />
addi r11, r1, '''N'''<br />
bl _savegpr_29<br />
<br />
The destination of the branch in this case is a small piece of reusable assembly code which looks something like:<br />
<br />
'''...'''<br />
_savegpr_29:<br />
lwz r29, -12(r11)<br />
_savegpr_30:<br />
lwz r30, -8(r11)<br />
_savegpr_31:<br />
lwz r31, -4(r11)<br />
blr<br />
<br />
==== Leaf Functions ====<br />
<br />
If a function is a leaf function (a function which does not call another function, or a function whose only call is a tail call) then the compiler will often optimise the stack frame away entirely. For example if we consider a simple two argument function which takes two integers as arguments and returns their sum:<br />
<br />
int f(int x, int y) {<br />
return x + y;<br />
}<br />
<br />
the compiler would optimise away the standard prologue and epilogue to produce assembly code like:<br />
<br />
add r3, r3, r4<br />
blr<br />
<br />
Similarly, a function which takes two arguments, swaps them, and then returns the result of a call to another function <code>f</code>:<br />
<br />
int g(int x, int y) {<br />
return f(y, x);<br />
}<br />
<br />
the compiler may optimise as a leaf tail call like:<br />
<br />
mr r0, r3<br />
mr r3, r4<br />
mr r4, r0<br />
b f<br />
<br />
<br />
==== 32 bit constant ====<br />
<br />
To set a register to a 32 bit constant, for example an address, two instructions are generally needed. For example, to set r3 to 0x80003180:<br />
<br />
lis r3, 0x8000<br />
addi r3, r3, 0x3180<br />
<br />
One consequence of using the <code>addi</code> instruction is that it becomes more complex to load a 32 bit constant if the 17th bit is 1. This is because the <code>addi</code> instruction uses a signed immediate. Therefore, to set r3 to 0x8000b180:<br />
<br />
lis r3, 0x8001<br />
addi r3, r3, -0x4f80<br />
<br />
As an optimisation, the above <code>addi</code> instructions can be swapped for <code>stw</code> or <code>ldw</code> instructions (or similar) if the intention is to load or store a value at the address given by the constant. Occasionally the compiler makes use of the <code>stwu</code> or <code>ldwu</code> instructions to further optimise this if both the 32 bit constant and the value at that address are required.<br />
<br />
==== Small Data Areas ====<br />
<br />
The small data areas (SDAs) are a pair of optimisations used by the compiler to reduce the number of instructions needed to reference certain global variables. Typically, loading the value of a 32 bit global variable <code>x</code> would require two instructions:<br />
<br />
lis r'''N''', x@ha<br />
lwz r'''N''', x@l(r'''N''')<br />
<br />
However, if the variable is stored in, say, the read only small data area, it can be accessed in just one instruction. For example, if the variable is at offset <code>0xa4</code> into the small data area, it would be accessed by the following instruction.<br />
<br />
lwz r'''N''', 0xa4-0x8000(r2)<br />
<br />
This is because r2 always holds the address of the read only small data area + 0x8000, so this load will always load the correct value.<br />
<br />
==== Switch Statements ====<br />
<br />
In C and C++ switch statements there are common code constructs for expressing many divergent behaviours stemming from a single variable. The Metrowerks CodeWarrior compiler seems to have two strategies for implementing these, depending on whether or not the tested values fall into a neat range. These are a jump table or transformation to conditionals. For example, in the following switch statement, all the cases fall in a relatively small range with relatively few gaps:<br />
<br />
switch (x) {<br />
case 1: f1(); break;<br />
case 2: f2(); break;<br />
case 4: f4(); break;<br />
case 5: f5(); break;<br />
case 6: f6(); break;<br />
case 7: f7(); break;<br />
default: fdefault(); break;<br />
}<br />
<br />
The compiler may therefore compile this to a jump table. The jump table code would look something like:<br />
<br />
addi r0, r'''X''', -1<br />
cmplwi r0, 6<br />
bgt defaultCase<br />
lis r3, jumptable@ha<br />
rlwinm r0, r0, 2, 0, 29<br />
addi r3, r3, jumptable@l<br />
lwz r3, r3, r0<br />
mtctr r3<br />
bctr<br />
<br />
The choice of r3 and r0 here is arbitrary. The strategy here is first to subtract the lowest numbered case from <code>x</code> and then check if it needs to branch to the default case. This is done be comparing against the highest numbered case minus the lowest numbered case. If the test is greater than this (unsigned) value, then it definitely needs to branch to the default case. Otherwise it loads the address of the jump table, and loads an address to branch to from that table. Finally it does an indirect branch to that address. In this case the first table entry would be the address of the code for <code>case 1</code>, the second entry would be for <code>case 2</code> and so on, with the third entry being the address of the default case, as <code>case 3</code> did not exist. In the event that the switch statement had a <code>case 0</code> the compiler would optimise away the unnecessary <code>addi</code> instruction. This strategy can still be used if some or all of the cases are negative, all that matters is that the range is sufficiently small and sufficiently dense.<br />
<br />
If the switch statement is not amenable to a jump table, it is transformed to a series of conditionals. For example, the following switch statement:<br />
<br />
switch (x) {<br />
case 1000: f1000(); break;<br />
case 1001: f1001(); break;<br />
case 2000: f2000(); break;<br />
case 3000: f3000(); break;<br />
case 3001: f3001(); break;<br />
}<br />
<br />
Is not amenable to a jump table, as the jump table would need over 2000 entries for just 5 cases. In this case, the compiler tends to produce an optimised conditional, something like:<br />
<br />
cmpwi r'''X''', 2000<br />
blt lt1000<br />
beq case2000<br />
cmpwi r'''X''', 3000<br />
beq case3000<br />
cmpwi r'''X''', 3001<br />
beq case3001<br />
b defaultCase<br />
lt1000:<br />
cmpwi r'''X''', 1000<br />
beq case1000<br />
cmpwi r'''X''', 1001<br />
beq case1001<br />
b defaultCase<br />
<br />
The compiler is using a divide and conquer strategy here, testing the middle case first in order to narrow down the number of possibilities. This clearly involves far more instructions that the jump table approaches, but given the size of the jump table for this switch statement it means less bytes over all. For very simple switches, the condition version may even be faster.<br />
<br />
==== C++ classes ====<br />
<br />
One key feature of C++ is the ability to support classes for object oriented programming. Most of [[Mario Kart Wii]]'s game logic code seems to make heavy use of this. At a basic level, classes in C++ describe an object which has methods and fields. For example, consider the following class:<br />
<br />
class Vector {<br />
private:<br />
float x;<br />
float y;<br />
floay z;<br />
public:<br />
float length () { return sqrt(x * x + y * y + z * z); }<br />
}<br />
<br />
The compiler will check the access modifiers at compile time (<code>public</code>/<code>private</code>/...) but will ultimately discard them. By analysing the code, we have no way of knowing which fields and methods had what access modifiers. Whenever the programmer creates this <code>Vector</code> in a function, it will need to store the three fields, <code>x</code>, <code>y</code> and <code>z</code>. The compiler therefore decides how to lay these out in memory. It always does this identically, placing the fields in code order consecutively, along with any padding needed. Therefore, in memory, an instance of this class would just appear as three floating point values. The function <code>length</code> would be implemented by transforming it to have an additional parameter, always passed in <code>r3</code>. If it had other parameters, these would be passed starting in <code>r4</code>. The pointer in <code>r3</code> would point to the start of the vector upon which length is being run (known in C++ as <code>this</code>). Therefore the code for length may look something like:<br />
<br />
lfs f0, 0(r3)<br />
fmuls f1, f0, f0<br />
lfs f0, 4(r3)<br />
fmadds f1, f0, f0, f1<br />
lfs f0, 8(r3)<br />
fmadds f1, f0, f0, f1<br />
b sqrt<br />
<br />
===== Inheritance =====<br />
<br />
''See also [https://en.wikipedia.org/wiki/Virtual_method_table Wikipedia's Virtual Method Table article]''<br />
<br />
One of the key features of object oriented programming is inheritance. For example, consider the following code:<br />
<br />
class Shape {<br />
public:<br />
int32_t x;<br />
int32_t y;<br />
virtual int32_t area(void) = 0;<br />
}<br />
<br />
class Square : public Shape {<br />
public:<br />
int32_t length;<br />
virtual int32_t area(void) { return length * length; }<br />
}<br />
<br />
class Rectangle : public Shape {<br />
public:<br />
int32_t width;<br />
int32_t height;<br />
virtual int32_t area(void) { return width * height; }<br />
}<br />
<br />
In this case, we have an abstract class <code>Shape</code> and two derived classes <code>Square</code> and <code>Rectangle</code>. The programmer can never create a <code>Shape</code> directly because it lacks an implementation for <code>area</code>. This would be checked at compile time. However, the programmer can create <code>Square</code>s and <code>Rectangle</code>s and cast these to pointers to shapes. For example, we could write a method:<br />
<br />
int mulAreas(Shape *a, Shape *b) {<br />
return a->area() * b->area();<br />
}<br />
<br />
In general it is impossible for the compiler to know at compile time whether the arguments <code>a</code> and <code>b</code> are <code>Square</code>s or <code>Rectangle</code>s. It may even differ by call site. Therefore it is impossible for the compiler to know at compile time which version of the <code>area</code> method it ought to call.<br />
<br />
The solution to this problem used by the MetroWerks CodeWarrior compiler is a '''vtable''' or '''virtual method table'''. When organising the memory layout for <code>Square</code> and <code>Rectangle</code> it begins by putting a pointer to the vtable. The table itself is stored once somewhere in the read only data section of memory. The table always seems to contain 8 bytes of 0. There is no other header associated with the tables, so it is difficult to find them directly by analysing memory. These 8 bytes are followed by one pointer entry for each <code>virtual</code> function in code order. In this case, that would just be <code>area</code>. The pointer is the address in memory of the implementation of <code>area</code> for that particular class. The code for <code>mulAreas</code> would look something like:<br />
<br />
stwu r1, -16(r1)<br />
mflr r0<br />
stw r0, 20(r1)<br />
stw r31, 12(r1)<br />
mr r31, r4<br />
lwz r12, 0(r3)<br />
lwz r12, 8(r12)<br />
mtctr r12<br />
bctrl<br />
mr r0, r3<br />
mr r3, r31<br />
mr r31, r0<br />
lwz r12, 0(r3)<br />
lwz r12, 8(r12)<br />
mtctr r12<br />
bctrl<br />
mullw r3, r3, r31<br />
lwz r31, 12(r1)<br />
lwz r0, 20(r1)<br />
addi r1, r1, 16<br />
mtlr r0<br />
blr<br />
<br />
After the vtable pointer follows the fields of the parent class (<code>x</code> and <code>y</code> in this case), then the fields of the derived class (either <code>length</code> or <code>width</code> then <code>height</code>). The size of the data therefore depends on which class is created (<code>Square</code> at 16 bytes or <code>Rectangle</code> at 20 bytes). For example, the code for <code>area</code> for <code>Square</code> would look something like:<br />
<br />
lwz r3, 12(r3)<br />
mullw r3, r3, r3<br />
blr<br />
<br />
===== Complex Fields =====<br />
<br />
One key difference with C++ objects and many other object oriented programming languages is that objects can be stored by value, not just by reference or pointer. That is to say, given the examples [[#Inheritance|above]], the following code:<br />
<br />
class Panel {<br />
public:<br />
Rectangle bounds;<br />
int32_t textID;<br />
}<br />
<br />
Would result in a 24 byte class panel, starting with a 20 byte <code>Rectangle</code>, followed by the 4 byte <code>int32_t</code> for <code>textID</code>. It is therefore possible that analysing this class would confuse you about the nature of the class <code>Rectangle</code> as the first entry of <code>Panel</code> in memory would be the vtable for <code>Rectangle</code>, which could be mistake for the vtable for class <code>Panel</code>. Similarly, if the two fields in <code>Panel</code> were the other way round, it would be easy to mistake the vtable of <code>Rectangle</code> for an ordinary variable as it is not the first entry in the class <code>Panel</code>. Thus, in general, any offset into an object may be a vtable and there may be many per object if there are multiple complex fields.<br />
<br />
== Libraries ==<br />
<br />
Along with code written specifically for Mario Kart Wii, the game contains some library code which provides much generic functionality reusable between projects. It is theoretically impossible to say for certain which parts of the code represent libraries and which represent specific Mario Kart Wii code, but with some very reasonable assumptions we can guess. In particular, the C and C++ standards specify some libraries which the compiler must provide (even if the code decides not to use them).<br />
<br />
=== Memory Management ===<br />
<br />
''See also [https://en.wikipedia.org/wiki/C_dynamic_memory_allocation Wikipedia's C Dynamic Memory Management article]''<br />
<br />
One important part of most piece of code is dynamic memory management. In contrast to many more modern languages, C and C++ memory management is explicit. Nothing happens automatically. In C it is mostly done using the <code>malloc</code> and <code>free</code> methods. C++ tends to use <code>new</code> and <code>delete</code>, although these are often just implemented to call down to the C library. Perhaps surprisingly, [[Mario Kart Wii]] does not seem to use the standard <code>malloc</code> and <code>free</code> methods much. Instead, Nintendo's own Wii library seems to provide an alternative similar interface. Their allocation functions seem to take two arguments as opposed to <code>malloc</code> which takes only one. The arguments are the amount of memory the code is requesting and also what '''heap''' to allocate in. The heaps are areas of memory dedicated to storing different types of variables. For example, there is a heap dedicated to storing copies of files from the game disk. There is also a heap dedicated to storing all variables related to a race during a race. The main advantage of this approach seems to be the ability to delete entire heaps very efficiently. For example, when a race ends, the game simply deletes the race data heap and all the variables that were part of it disappear. This can make analysing the game's memory usage somewhat more confusing as there may never be a call to <code>free</code> corresponding to a call to <code>malloc</code>.<br />
<br />
One useful aspect of the game's version of <code>malloc</code> is that it leaves a small header before each allocation, which it uses to track the allocated memory. Subtracting 0x10 from the pointer returned by <code>malloc</code> gives the start of the header. The format of the block is as follows:<br />
<br />
{| class="wikitable"<br />
|+ Allocated memory block<br />
|-<br />
! Offset !! width="6%" | Type !! Description<br />
|-<br />
| 0x00 || UInt16 || Magic, always '''0x5544''' or '''UD''' in ASCII.<br />
|-<br />
| 0x02 || UInt16 || Flags, unkown meanings.<br />
|-<br />
| 0x04 || UInt32 || '''N''' Length of the block in bytes.<br />
|-<br />
| 0x08 || UInt32 || Pointer to previous block.<br />
|-<br />
| 0x0C || UInt32 || Pointer to next block.<br />
|-<br />
| 0x10 || UInt8['''N'''] || '''N''' bytes of data.<br />
|-<br />
| colspan=2 {{unknown|'''N''' + 0x10}} || {{unknown|End of this block, start of next block at next 8 byte aligned offset}}<br />
|}<br />
<br />
Because of the pointers, the blocks form a doubly linked list. If a block is <code>free</code>d, it is not necessarily deleted immediately, but the pointers are corrected so that they point to the next and previous undeleted but free block. Thus, there is a linked list of <code>free</code>d blocks and a linked list of used blocks. The game seems to reuse <code>free</code>d blocks if another allocation of the same size is made.<br />
<br />
The heaps also have a header, which seems to begin with the magic '''0x4652''' or '''FR''' in ASCII, though nothing further is no about it.<br />
<br />
=== Multithreading ===<br />
<br />
''See also [https://en.wikipedia.org/wiki/Thread_(computing) Wikipedia's Thread article]''<br />
<br />
Like many modern programs, [[Mario Kart Wii]] makes heavy use of multithreading. This gives the illusion to the programmer that multiple lines of code are executing simultaneously. Because the Wii's processor is single core, this is impossible. Instead the library starts a timer (the decrementer) when each section of code starts running. When the timer expires, the processor automatically interrupts the code (decrementer interrupt) and branches to another piece of code. This happens sufficiently quickly that all the threads make progress. If a thread has nothing to do, it can voluntarily suspend itself in order to another thread chance to work. This is common for threads that perform background tasks, such as loading from the disk.<br />
<br />
Each thread in the game has a priority. The game's library executes only the highest priority thread(s) available until they all run out of work. It then considers the next priority level. The highest priority level is 0 and the highest is 31.<br />
<br />
The library seems to make a distinction between two related concepts a thread and a context. Every thread has a context, but not every context has a thread. Contexts are used for tiny pieces of work such as interrupt handlers. The library always seems to execute any threadless contexts first if possible, as if they are high priority threads. Contexts cannot call certain functions which require full blown threads, such as some sleep routines. A point to the current executing context is always stored at <code>0x800000d4</code>.<br />
<br />
The context structure in memory is only updated when the context changes, in order to remember what to switch back to. The format of a context in memory is as follows:<br />
<br />
{| class="wikitable"<br />
|+ OSContext data structure<br />
|-<br />
! Offset !! width="6%" | Type !! Description<br />
|-<br />
| 0x000 || UInt32[32] || A copy of each register in order (<code>r0</code> to <code>r31</code>).<br />
|-<br />
| 0x080 || UInt32 || A copy of the condition register (<code>cr</code>).<br />
|-<br />
| 0x084 || UInt32 || A copy of the link register (<code>lr</code>).<br />
|-<br />
| 0x088 || UInt32 || A copy of the count register (<code>ctr</code>).<br />
|-<br />
| 0x08c || UInt32 || A copy of the integer exception register (<code>xer</code>).<br />
|-<br />
| 0x090 || Double[32] || A copy of each floating point register in order (<code>f0</code> to <code>f31</code>).<br />
|-<br />
| 0x190 || 8 bytes || {{unknown}}<br />
|-<br />
| 0x198 || UInt32[2] || A copy of the two save/restore reigsters in order (<code>srr0</code> and <code>srr1</code>)<br />
|-<br />
| 0x1a0 || 2 bytes || {{unknown}}<br />
|-<br />
| 0x1a2 || UInt16 || Flags (0x1 is restore_fpr, 0x2 is restore_volatile_gpr, others unknown)<br />
|-<br />
| 0x1a4 || UInt32[8] || A copy of each graphics quantisation register in order (<code>gqr0</code> to <code>gqr7</code>).<br />
|-<br />
| 0x1c4 || 4 bytes || {{unknown}}<br />
|-<br />
| 0x1c8 || Float[64] || A copy of each floating point pair register in order (<code>f0</code> to <code>f31</code>).<br />
|-<br />
| colspan=2 {{unknown|0x2c8}} || {{unknown|End of this structure}}<br />
|}<br />
<br />
A thread data structure is like an extended context:<br />
<br />
{| class="wikitable"<br />
|+ OSThread data structure<br />
|-<br />
! Offset !! width="6%" | Type !! Description<br />
|-<br />
| 0x000 || OSContext || As above, a full context.<br />
|-<br />
| 0x2c8 || 2 bytes || {{unknown}}<br />
|-<br />
| 0x2ca || SInt16 || A copy of argument <code>r9</code> from <code>OSCreateThread</code>.<br />
|-<br />
| 0x2cc || 4 bytes || {{unknown}}<br />
|-<br />
| 0x2d0 || SInt32 || A thread priority value (0-31). Lower numbers equal higher priority. Usage unclear.<br />
|-<br />
| 0x2d4 || SInt32 || A thread priority value (0-31). Lower numbers equal higher priority. Usage unclear.<br />
|-<br />
| 0x2d8 || 12 bytes || {{unknown}}<br />
|-<br />
| 0x304 || Pointer32 || Highest address of the call stack (i.e. the bottom).<br />
|-<br />
| 0x308 || Pointer32 || Lowest address of the call stack (i.e. the bottom).<br />
|-<br />
| 0x30c || SInt32 || C error number variable (<code>errno</code>).<br />
|-<br />
| 0x310 || 8 bytes || {{unknown}}<br />
|-<br />
| colspan=2 {{unknown|0x318}} || {{unknown|End of this structure}}<br />
|}<br />
<br />
== Linking and Loading ==<br />
<br />
The game's code (along with all referenced libraries) was divided and compiled into two files: [[main.dol]] and [[StaticR.rel]]. main.dol is loaded first by the disc loader (typically the Wii Menu) and then StaticR.rel is dynamically loaded and linked during the health and safety screen. main.dol is statically linked, so always loads to the same location in memory. StaticR.rel has references to the static method addresses in main.dol, but is itself relocatable and has relocation information to assist with changing its loaded address. Despite this, due to the deterministic nature of the game's early code, StaticR.rel is always loaded to the same address in practice.<br />
<br />
It is not clear why the game's code was split in this manner; other games such as [http://en.wikipedia.org/wiki/The_Legend_of_Zelda:_Twilight_Princess The Legend of Zelda: Twilight Princess] feature many more [[REL (File Format)|rel]] files, and dynamically load and unload them to save on memory by loading code only when needed. Mario Kart Wii, having only one REL file, does not do this. One potential explanation is that most of the game's specific logic (physics, UI, ...) is located in StaticR.rel, so perhaps the game's main.dol is intended to be reusable as an engine for different games. There is no evidence this was ever used as such however; even the Mario Kart Channel uses a different main.dol.<br />
<br />
[[Category:Memory]]<br />
[[Category:Functions]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:REL_(File_Format)&diff=127868Talk:REL (File Format)2017-12-23T09:19:03Z<p>Chadderz: Runtime variable discussion</p>
<hr />
<div>= Filled in at Runtime =<br />
I notice [[User:Leseratte|Leseratte]]'s latest edit [http://wiki.tockdom.com/w/index.php?REL_(File_Format)&diff=prev&oldid=127863] documents the padding as runtime variables. In my experience there are quite a number of file formats with such runtime variables, but we don't make a habit of documenting them on this wiki. We tend just to list them as padding, documenting only the static behaviour of the file format. I think we should be consistent Wiki wide on this. Documenting the runtime behaviour is certainly more thorough, but not particularly useful to people writing editors for file formats who may not understand the distinction. I'd personally vote to not have any runtime variable documentation on file format pages. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:19, 23 December 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Assembly_Code&diff=126824Assembly Code2017-12-08T12:20:54Z<p>Chadderz: Referenced the 750cl which is almost identical to the Broadway.</p>
<hr />
<div>'''Assembly code''' (abbreviated to '''ASM''') is a type of programming language which is directly translatable to machine code. [[#Machine code|Machine code]] is typically directly understood/interpreted by a physical circuit called a processor. In the context of the [[Wii]] references to ASM typically refer specifically to '''[[#PowerPC assembly code|PowerPC assembly code]]''' as PowerPC machine code is used by the Wii's Broadway processor and is the format of [[Mario Kart Wii]]'s code on the game disk.<br />
<br />
The machine code for Mario Kart Wii is stored in the files [[main.dol]] and [[StaticR.rel]]. The game was programmed in the programming languages C and C++ and then a [[compiler]] (Metrowerks CodeWarrior) translated this code into machine code. Reversing the process of compilation is very difficult so game mods are typically added by writing in ASM or [[Cheat Code|GCT code]].<br />
<br />
== Machine Code ==<br />
<br />
'''Machine code''' refers to the binary code which is run by computer processors. It is generally very hard for humans to read and understand. Assembly code is a human readable translation of machine code. There is typically a one to one correspondence between assembly code and machine code. That is to say, one line of assembly code corresponds to one instruction of machine code. Thus, the two terms (machine code and assembly code) are commonly used interchangeably. When working with machine code, most people prefer to translate it to assembly code, edit the assembly code, then translate that back to machine code. Programs that translate assembly code to machine code are called '''assemblers''' and programs that translate machine code to assembly code are called '''disassemblers'''.<br />
<br />
== Dialects ==<br />
<br />
In comparison to higher level programming languages (C, C++, C#, Java, Python, JavaScript, etc) the choice of which dialect of machine/assembly code dialect to use is forced by which processor will run the code. Each processor will generally only be capable of running one dialect of machine code, and will simply be unable to use code written for other processors. This is one of the main disadvantages of assembly code, and why such higher level languages were invented.<br />
<br />
=== ARM Assembly Code ===<br />
<br />
ARM assembly code is the format of assembly code used by the Wii's Starlet processor. This processor only runs the Wii's IOS operating system, and so consequently no game code is ARM assembly code.<br />
<br />
=== PowerPC Assembly Code ===<br />
<br />
PowerPC (PPC) assembly code is the format of assembly code used by the Wii's Broadway processor. It supports most common PowerPC instructions, but also some special unique ones specific to the Wii. The processor is not officially publicly documented, but it is almost identical to the IBM 750CL processor which is. The Broadway processor runs Wii games and therefore all of the assembly code in [[Mario Kart Wii]] is PowerPC Assembly Code. Each line (instruction) of PowerPC assembly code is written as a mnemonic followed by a number of arguments. For example:<br />
<br />
lis r3, 0x8000<br />
lwz r4, 0(r3)<br />
stw r4, 0x3180(r3)<br />
blr<br />
<br />
The above example contains four instructions, one per line. The first instruction has the mnemonic <code>lis</code> and takes two arguments (<code>r3</code> and <code>0x8000</code>). The second and third instruction have mnemonics <code>lwz</code> and <code>stw</code> and both take three arguments (<code>r4</code>, <code>0</code>, <code>r3</code> and <code>r4</code>, <code>0x3180</code>, <code>r3</code> respectively). The final instruction has mnemonic <code>blr</code> and takes no arguments. The number, order and format of the arguments to an instruction depend on the mnemonic. That is to say, every <code>lis</code> instruction will take two arguments, the first of which is a register and the second of which is a 16 bit integer, with a comma between them. A register is a small piece of memory (32 bits in PowerPC). There are 32 general purpose registers in PowerPC labelled <code>r0</code>, <code>r1</code>, ..., <code>r31</code>. These are mostly identical but <code>r0</code> is slightly special. However, by convention the [[compiler#ABI|ABI]] gives specific jobs to each register so mixing assembly code from different sources is more likely to work.<br />
<br />
When translated to machine code, a PowerPC processor would be able execute these instructions. The effect of each depends on the mnemonic and the arguments. There are three main types of instruction; arithmetic, memory and branching. After executing each instruction the processor then moves on to the next instruction sequentially, except in the case of branches. Arithmetic instructions like the <code>lis</code> in the above example perform some simple mathematical computation between their arguments and then store the result in a register. Typically the first argument is the destination register; where to put the result, and the remaining arguments are the inputs to whatever calculation is being performed. Thus, in the example, the first instruction means "perform an <code>lis</code> on <code>0x8000</code> and store the result in <code>r3</code>. <code>lis</code> is short for "'''l'''oad '''i'''mmediate '''s'''hifted" and the effect of this is to multiply the input by <code>0x10000</code> corresponding to a left bit shift of 16. Thus, the result of this instruction will be <code>0x80000000</code> and so after the instruction that will be the value in <code>r3</code>.<br />
<br />
Memory instructions move data into (loads) or out of (stores) the processor. In the above example, <code>lwz</code> is a load and <code>stw</code> is a store. When moving data, the processor must always know where to move it from or to. This is called the address. On PowerPC each address is a 32 bit number. Which addresses correspond to what data is a property of the whole system, not just the processor. On the Wii for example, addresses <code>0x80000000</code> to <code>0x817fffff</code> correspond to MEM1; a 24 MiB RAM chip. Each number in that range corresponds to exactly one byte of MEM1. An instruction may affect multiple bytes of this chip at once, for example the <code>lwz</code> and <code>stw</code> instructions affect 4 consecutive bytes of MEM1. In the example, the <code>lwz</code> instruction retrieves 4 bytes of data from MEM1. The behaviour of the <code>lwz</code> ('''l'''oad '''w'''ord and '''z'''ero) is to add <code>0</code> to the value in <code>r3</code> (which is 0x80000000 due to the <code>lis</code> instruction) and then send that address to MEM1. MEM1 will reply by sending 4 bytes back starting at it's first byte (at <code>0x80000000</code>) and ending at it's fourth byte (at <code>0x80000003</code>). This 4 byte (32 bit) reply will then be stored in <code>r4</code>. The next instruction in the example is <code>stw</code> ('''st'''ore '''w'''ord). It computes an address similar to the <code>lwz</code> by adding <code>0x3180</code> to the value in <code>r3</code> (which is still <code>0x80000000</code>) to produce the address <code>0x80003180</code>. It will then send this to MEM1 along with the value in <code>r4</code> (which came from the <code>lwz</code>). MEM1 will then replace the 4 bytes starting at <code>0x80003180</code> with the value from <code>r4</code>. Thus, if a later load instruction accessed the same bytes, it would find the updated values. No other actual affect occurs on the processor itself in this case, so neither <code>r3</code> nor <code>r4</code> are changed by the <code>stw</code> instruction.<br />
<br />
Branching instructions affect the flow of machine code instructions on the processor. Instructions are stored in some memory outside the processor (MEM1 in the case of the Wii). Normally, the processor will retrieve each machine code instruction, execute it, then move on to the next instruction. Each machine code instruction is exactly 4 bytes long in PowerPC, so this corresponds to stepping through memory by adding 4 to the address. A branching instruction changes this by telling the processor where to look for the next instruction explicitly. This replaces the implicit next instruction address obtained by adding 4 to the current instruction address. <code>blr</code> ('''b'''ranch to '''l'''ink '''r'''egister) causes the processor to instead use the current value of the <code>lr</code> as the address for the next instruction. The <code>lr</code> is just a 32 bit special purpose register which a small number of arithmetic and branching instructions can modify. Thus, we would need to know the value of the <code>lr</code> to know what instruction would execute next in the example. The redirection is 'permanent' so after executing the instruction at the address given by the <code>lr</code> it would then add 4 to get the next address and so on, unless it encountered another branch.<br />
<br />
A listing of almost all instructions supported by the Wii's processor can be found in Chapter 12 of the [//fail0verflow.com/media/files/ppc_750cl.pdf IBM 750CL RISC Microprocessor User Manual], along with an explanation of the behaviour of each. Chapter 2 is also particularly useful for assembly code programmers as it explains the basic operation of the processor from a programmer's perspective. Note that the manual is for a processor which is almost identical to the Wii's processor, but there may be some differences. The manual references [//www.nxp.com/files/product/doc/MPCFPE32B.pdf Programming Environments Manual for 32-Bit Implementations of the PowerPC Architecture] which is a more generic description of PowerPC not specific to the Broadway processor found in the Wii. It also contains an instruction set listing in Chapter 8, which omits the Wii specific instructions. It also has a useful Chapter 2 which explains how PowerPC processors work from a programmer's perspective.<br />
<br />
== Tools ==<br />
<br />
* GNU Binutils include an assembler and disassembler. Specifically, in [[devkitPro]] is an assembler and disassembler for PowerPC and ARM.<br />
* ASMWiiRd is a Windows GUI application for converting between PowerPC assembly code and [[Cheat Code|GCT]] codes with assembly code embedded inside.<br />
* The [[Dolphin]] emulator when started with the "/D" command line option can display, pause and edit the assembly code of the emulated game.<br />
<br />
To use devkitPro's Binutils to assemble <code>input.asm</code> (text document with assembly code) to <code>output.bin</code> (a file containing the raw machine code) the commands would be:<br />
powerpc-eabi-objdump -mregnames -m750cl input.asm -o temp.elf<br />
powerpc-eabi-objcopy -O binary temp.elf output.bin<br />
Note that there is no easy way to set the loaded address of the instructions so only relative branching instructions should be used (i.e. don't expect <code>b 0x80000000</code> to assemble correctly).<br />
<br />
To use devkitPro's Binutils to disassemble <code>input.bin</code> (a file containing raw machine code) the command would be:<br />
powerpc-eabi-objdump -b binary -m powerpc:750 -M 750cl -D -EB --adjust-vma=0x80000000 test.bin <br />
Note that some instruction's arguments depend on their address, so you can change the value of <code>adjust-vma</code> to be the loaded address of the first instruction.<br />
<br />
== See Also ==<br />
<br />
* [//fail0verflow.com/media/files/ppc_750cl.pdf IBM 750CL RISC Microprocessor User Manual] - manual for a processor almost identical to the Wii's.<br />
* [//www.nxp.com/files/product/doc/MPCFPE32B.pdf Programming Environments Manual for 32-Bit Implementations of the PowerPC Architecture] - a generic PowerPC processor manual.<br />
* [//en.wikipedia.org/wiki/Assembly_language Wikipedia's article] on Assembly Code.<br />
* [//en.wikipedia.org/wiki/PowerPC Wikipedia's article] on PowerPC.</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:Wiimm%27s_Custom_Archive&diff=124651Talk:Wiimm's Custom Archive2017-11-04T11:21:29Z<p>Chadderz: /* SHA1s */</p>
<hr />
<div>== SHA1s ==<br />
<br />
Hello. First of all, well done on your work to recover and restore the tracks after the recent take down, and I like the idea of a central repository such as yours. I was wondering if, as an extension, it might be possible to display and/or allowing searching for tracks by SHA1 using the same system as CTGP. That way we could interlink the archive with the leaderboards at [http://www.chadsoft.co.uk/time-trials/other-leaderboards.html www.chadsoft.co.uk/time-trials/other-leaderboards.html]. Our systems simply use the SHA1 of the decompressed U8 archive as the track ID. We also include the author intended slot as part of our ID, which may also be something your archive could log. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:20, 22 October 2017 (UTC)<br />
<br />
: Sounds like a good idea but I don't know if this is possible. Wiimm stores the tracks in WBZ format, and when converting that back to SZS/U8, the result may not be exactly the same file as the original, even without compression and at least if the original SZS was not created with Wiimms tools. There might be other paddings, the files in the U8 may be in the wrong order, ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:02, 22 October 2017 (UTC)<br />
<br />
:: Agreed, but presumably the WBZ conversion does put it into a stable order; it won't change further. It doesn't necessarily matter that it is not equivalent to the original U8 going forward, as if everyone is downloading the tracks from the archive everyone will get the same version. Possibly a workaround for the existing tracks would be if the original U8's SHA1 (before WBZ) is also included if you still have it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 22 October 2017 (UTC)<br />
<br />
::: WBZ makes it stable, yes. But If you used the original SZS to put the track into CTGP and we use the WBZ, the SHA1 in CTGP and on Wiimms page may not be the same - unless you redownload all tracks from Wiimms archive and replace everything that differs. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:11, 22 October 2017 (UTC)<br />
<br />
:::: In deed, the database uses a sha1 checksum of the decompressed file (wszst sha1 FILE...). So packing as U8, WU8, WBZ or SZS is irrelevant.<br />
:::: A general distribution support is planned. But let us delay this for some weeks until I finished the first steps of the new archive.<br />
:::: (Written before Chadderz last edit)<br />
:::: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 09:12, 22 October 2017 (UTC)<br />
<br />
: Many thanks Wiimm, I've now added links from our time trial pages to the archive (e.g. [http://www.chadsoft.co.uk/time-trials/leaderboard/1C/E69D1003392895BE03A7EDE2F1BFA8171DD33CC7/00.html Abyssal Ruins]). I note that if the track doesn't exist, the resultant page is blank, which may perhaps confuse people, so might I suggest adding a "track not found" message in that case (e.g. [http://www.chadsoft.co.uk/time-trials/leaderboard/06/CF682DE2AE8872CF160C80A43FA21DED02C7661D/00.html Alpine Mountain]).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:19, 3 November 2017 (UTC)<br />
<br />
:: Fixed! (There are more small issues)<br />
:: However, it's now time to give me all missed tracks. This is the way how this community works: Open and free data!<br />
:: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 16:19, 3 November 2017 (UTC)<br />
<br />
::: Thanks. Indeed, CTGP v1.03's security is only intended to stop cheating, I never meant it to hide things. Bean used to make many small edits to tracks before adding them so that explains why many are not in your database. I've suggested he uploads them once you add a submission form. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:21, 4 November 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=124601User talk:Chadderz2017-11-03T15:21:34Z<p>Chadderz: /* SFP Backups */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)<br />
<br />
:: Thanks for your answer. I'll try adding the free() call to the module to see. I know it's not that much space, but it would have the advantage that one could just place all mods as MOD_REL without needing to find out if the code is in the DOL or the REL (if this is unknown), and without having to worry about space. Or does MOD_DOL have any other advantage over MOD_REL when space is of no concern because I free() it?<br />
:: For the menu thing, if you have never changed anything about navigation but the game still recognizes the old special cup and the old lightning cup to be in the same row without any code or BRCTR mod, the only thing left could be position and size - but then why doesn't it select the arrow? In the main menu, you are perfectly able to press "down" on any of the "2 player, 3 player, 4 player" buttons to get to the MKWii channel. Maybe the left/right buttons' height is just a few pixels too low so the game doesn't recognize that these buttons stretch over two rows? I'll try making the arrow buttons a bit larger then. <br />
:: The thing about memmem() is unfortunate. I wanted to use it to check the existance of a file on the disc by searching for \x00filename\x00 in the FST. Do you know where the game routine to open a file on disc is, so I could use that to check for existance of a file on-disc? When I tried to trace the code opening a file I always ended up in the general disc read function reading blocks, and not something like open("/Race/Course/whatever.szs") which I could use ...<br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:25, 14 October 2017 (UTC)<br />
<br />
:: About what determines which next button is selected, I think it's also in the BRCTR, but I'm not really sure in which value it depends. I remember that I modified this in my Race.szs pause menu, and the order didn't exactly changed, but it messed up and when pressing down or up it just skipped one button: http://avsys.xyz/pause_menu.avi —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:54, 14 October 2017 (UTC)<br />
<br />
::: Interesting. Do you still happen to have that BRCTR somewhere? Could the BRLYT be related to this, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 11:59, 14 October 2017 (UTC)<br />
::: @Chadderz would it be possible that the game uses some "internal size" for that? Maybe the "scale" in the BRCTR is just for display and they use the internal default size for navigation? I'll try rescaling the arrows to 1.0 and instead move them down a bit ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:19, 14 October 2017 (UTC)<br />
<br />
::: This is going to be veeery difficult ... I have just looked into the main menu BRCTR to find out how Nintendo does this - every time Nintendo has a block of buttons navigating onto a single button (like the 6 cups onto each of the arrows), they put the block of buttons into its own BRCTR. That means, they would have implemented "load arrow left, load another BRCTR with 6 cups, load arrow right" into that one pane instead of loading every single cup icon at the same time as the arrows. That means one would have to hook into the generic game code handling the navigation and implementing an edge case for exactly this menu and that is probably outside of my skills ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:42, 14 October 2017 (UTC)<br />
<br />
:::: Here's the BRCTR if you still need it: http://avsys.xyz/PauseMenuTimeAttack.brctr —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:28, 15 October 2017 (UTC)<br />
<br />
: I have found another solution: I have modded the CTCODE so pressing "right" on the two right cups or "left" on the two left cups does the scrolling. No need to select the arrow button (that can only be pressed with the wiimote pointer with that change), so this works in both rows. Only problem is that the track list below doesn't update while scrolling. It didn't do that before either, but the "arrow" has no tracks anyways. Do you happen to know which of the dozen functions in menu.mod (or in the game itself?) handles just refreshing the track list and nothing else? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 15:00, 14 October 2017 (UTC)<br />
<br />
:: Regarding MOD_DOL vs MOD_REL, the only thing to worry about is timing; MOD_DOL applies before any game code is run, whereas MOD_REL will apply shortly after StaticR.rel has loaded. Thus if you were patching say <code>OSCreateThread</code> using MOD_REL, only threads created after that time would use your mod. As for deciding whether an address is StaticR.rel or main.dol, that's actually trivial, below 0x80400000 is DOL, above is REL. The true cut off between the two is different, but fortunately there is a large gap between the two, so that test will always give the right answer. Most things we want to edit are in StaticR.rel, so what I tended to do in ct-code is use MOD_DOL to transfer large routines to the early RAM, then branch to them using MOD_RELs to keep those small.<br />
<br />
:: Regarding <code>memmem</code>, yes that is unnecessary for that, the game obviously does contain FST parsing code. If you didn't already know Twilight Princess is very useful in that the game disk contains a symbol table for the entire game's code. Thus if you own and dump that game you can find out what library routines exist and what they look like, then search for the equivalents in other games. I note that game has a method called <code>DVDConvertPathToEntrynum</code> so I speculate that will suffice for an existence check on a file. A quick look suggests it has one parameter; presumably the path in r3 and returns the index into the FST of the file or -1 for non existent files. I'd say it looks like that method is at 8015df4c in RMCP.<br />
<br />
:: Regarding the menus, I don't know where the game's method to refresh the track list is; we avoid needing it by having arrow buttons as you note. Bean does know where the method to change the text on an interface is, so perhaps if you ask him for that and breakpoint it, the track refresh method will be the one calling it.<br />
<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:14, 15 October 2017 (UTC)<br />
<br />
::: Thanks for the <code>DVDConvertPathToEntrynum</code> function, I'll try that. Now that you remember me of Twilight Princess, I have already heard that this game has debug symbols and I planned on buying it. That function sounds like it does what I want it to do. Bean has already told me the function to draw a BMG text to a panel, it's at 8063DDB4 PAL. I'll look into its call stack to see if I find a function refreshing the whole list. Thanks! -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:30, 15 October 2017 (UTC)<br />
<br />
Another quick question, the ct-code (at least, MKW Fun with the ct-code does) seems to crash when you play a 4-player offline VS race and multiple players select a mii to drive. The crash happens around 80601C70 PAL because of a "bctrl" to 0. Do you have an idea what causes this? Is this because of the ct-code or because of something else? Did CTGP 1.03 have this problem as well and if yes, how did you fix it? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:19, 16 October 2017 (UTC)<br />
<br />
: It's not possible to play 4 Player mode in ctgp anyway. It crashes as soon as you select 4p mode from the first menu. [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:32, 16 October 2017 (UTC)<br />
<br />
:: Wasn't this fixed in 1.03.1044? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:36, 16 October 2017 (UTC)<br />
<br />
::: It's broken again for a long time [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:49, 16 October 2017 (UTC)<br />
<br />
:::: As far as we know the 4 player freeze(s) are all to do with memory exhaustion. The cup icons increase the memory consumption too far, <code>malloc</code> fails and the game does something with <code>NULL</code>. We're looking into optimisations to avoid this such as changing the format of the icons. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 17 October 2017 (UTC)<br />
<br />
::::: The game requires that much memory it is unable to load ~50 small cup icons into RAM? Then how is it able to load multiple megabytes of tracks? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:15, 17 October 2017 (UTC)<br />
<br />
:::::: Because the game doesn't actually have full use of continuous RAM and an implementation of <code>malloc</code>. Memory allocation is much more complicated from what I've seen involving the various heaps each with a given capacity. If one of those fills up then further allocations to that heap will fail. So the game can run out of memory with many megabytes free. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]])<br />
<br />
: It still freezes with only 14 cups. Is this possible, that 14 cups plus whatever the game tries to allocate is still less than what ~50 cups need? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 20:41, 18 October 2017 (UTC)<br />
<br />
::The main culprit, I think, is ct_icons.tpl, which holds one 128x128 RGB5A3 icon for each cup (plus the two arrows). Maybe it's possible for the game to use 64x64 cup icons instead, which can cut the memory usage by 75% per cup. A BRLYT and/or BRCTR edit will be necessary though. [[User:Aplumafreak500|Aplumafreak500]] ([[User talk:Aplumafreak500|talk]]) 16:36, 19 October 2017 (UTC)<br />
<br />
::: Yes, we suspect ct_icons.tpl. I suspect it is copied to some small heap somewhere. Our thought was to change the format to CMPR, though this would imply a code change to CT-CODE. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:26, 22 October 2017 (UTC)<br />
<br />
:::: Wouldn't it be easier to make the game copy that to a larger heap / somewhere else where there is enough space? --[[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:34, 22 October 2017 (UTC)<br />
<br />
::::: Perhaps, but given we don't know where it's going in the first place, that may not be so easy. Changing texture formats is easy. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:59, 22 October 2017 (UTC)<br />
<br />
== SFP Backups ==<br />
<br />
Hi, Chadderz. I was wondering if you had a full backup of all the mods from the SFP server. [[User:Bri|Bri]] ([[User talk:Bri|talk]]) 01:42, 29 October 2017 (UTC)<br />
<br />
: Yes, though not in a sensible form. Stupidly the server stored the SFPs in a weird format which I can't convert back to SFP easily. Is there something in particular you were looking for? [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:21, 3 November 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:Wiimm%27s_Custom_Archive&diff=124600Talk:Wiimm's Custom Archive2017-11-03T15:19:37Z<p>Chadderz: /* SHA1s */</p>
<hr />
<div>== SHA1s ==<br />
<br />
Hello. First of all, well done on your work to recover and restore the tracks after the recent take down, and I like the idea of a central repository such as yours. I was wondering if, as an extension, it might be possible to display and/or allowing searching for tracks by SHA1 using the same system as CTGP. That way we could interlink the archive with the leaderboards at [http://www.chadsoft.co.uk/time-trials/other-leaderboards.html www.chadsoft.co.uk/time-trials/other-leaderboards.html]. Our systems simply use the SHA1 of the decompressed U8 archive as the track ID. We also include the author intended slot as part of our ID, which may also be something your archive could log. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:20, 22 October 2017 (UTC)<br />
<br />
: Sounds like a good idea but I don't know if this is possible. Wiimm stores the tracks in WBZ format, and when converting that back to SZS/U8, the result may not be exactly the same file as the original, even without compression and at least if the original SZS was not created with Wiimms tools. There might be other paddings, the files in the U8 may be in the wrong order, ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:02, 22 October 2017 (UTC)<br />
<br />
:: Agreed, but presumably the WBZ conversion does put it into a stable order; it won't change further. It doesn't necessarily matter that it is not equivalent to the original U8 going forward, as if everyone is downloading the tracks from the archive everyone will get the same version. Possibly a workaround for the existing tracks would be if the original U8's SHA1 (before WBZ) is also included if you still have it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 22 October 2017 (UTC)<br />
<br />
::: WBZ makes it stable, yes. But If you used the original SZS to put the track into CTGP and we use the WBZ, the SHA1 in CTGP and on Wiimms page may not be the same - unless you redownload all tracks from Wiimms archive and replace everything that differs. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:11, 22 October 2017 (UTC)<br />
<br />
:::: In deed, the database uses a sha1 checksum of the decompressed file (wszst sha1 FILE...). So packing as U8, WU8, WBZ or SZS is irrelevant.<br />
:::: A general distribution support is planned. But let us delay this for some weeks until I finished the first steps of the new archive.<br />
:::: (Written before Chadderz last edit)<br />
:::: -- [[User:Wiimm|Wiimm]] ([[User talk:Wiimm|talk]]) 09:12, 22 October 2017 (UTC)<br />
<br />
: Many thanks Wiimm, I've now added links from our time trial pages to the archive (e.g. [http://www.chadsoft.co.uk/time-trials/leaderboard/1C/E69D1003392895BE03A7EDE2F1BFA8171DD33CC7/00.html Abyssal Ruins]). I note that if the track doesn't exist, the resultant page is blank, which may perhaps confuse people, so might I suggest adding a "track not found" message in that case (e.g. [http://www.chadsoft.co.uk/time-trials/leaderboard/06/CF682DE2AE8872CF160C80A43FA21DED02C7661D/00.html Alpine Mountain]).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:19, 3 November 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:Wiimm%27s_Custom_Archive&diff=122177Talk:Wiimm's Custom Archive2017-10-22T09:07:07Z<p>Chadderz: /* SHA1s */</p>
<hr />
<div>== SHA1s ==<br />
<br />
Hello. First of all, well done on your work to recover and restore the tracks after the recent take down, and I like the idea of a central repository such as yours. I was wondering if, as an extension, it might be possible to display and/or allowing searching for tracks by SHA1 using the same system as CTGP. That way we could interlink the archive with the leaderboards at [http://www.chadsoft.co.uk/time-trials/other-leaderboards.html www.chadsoft.co.uk/time-trials/other-leaderboards.html]. Our systems simply use the SHA1 of the decompressed U8 archive as the track ID. We also include the author intended slot as part of our ID, which may also be something your archive could log. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:20, 22 October 2017 (UTC)<br />
<br />
: Sounds like a good idea but I don't know if this is possible. Wiimm stores the tracks in WBZ format, and when converting that back to SZS/U8, the result may not be exactly the same file as the original, even without compression and at least if the original SZS was not created with Wiimms tools. There might be other paddings, the files in the U8 may be in the wrong order, ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:02, 22 October 2017 (UTC)<br />
<br />
:: Agreed, but presumably the WBZ conversion does put it into a stable order; it won't change further. It doesn't necessarily matter that it is not equivalent to the original U8 going forward, as if everyone is downloading the tracks from the archive everyone will get the same version. Possibly a workaround for the existing tracks would be if the original U8's SHA1 (before WBZ) is also included if you still have it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 22 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=122175User talk:Chadderz2017-10-22T08:59:41Z<p>Chadderz: /* ct-code questions */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)<br />
<br />
:: Thanks for your answer. I'll try adding the free() call to the module to see. I know it's not that much space, but it would have the advantage that one could just place all mods as MOD_REL without needing to find out if the code is in the DOL or the REL (if this is unknown), and without having to worry about space. Or does MOD_DOL have any other advantage over MOD_REL when space is of no concern because I free() it?<br />
:: For the menu thing, if you have never changed anything about navigation but the game still recognizes the old special cup and the old lightning cup to be in the same row without any code or BRCTR mod, the only thing left could be position and size - but then why doesn't it select the arrow? In the main menu, you are perfectly able to press "down" on any of the "2 player, 3 player, 4 player" buttons to get to the MKWii channel. Maybe the left/right buttons' height is just a few pixels too low so the game doesn't recognize that these buttons stretch over two rows? I'll try making the arrow buttons a bit larger then. <br />
:: The thing about memmem() is unfortunate. I wanted to use it to check the existance of a file on the disc by searching for \x00filename\x00 in the FST. Do you know where the game routine to open a file on disc is, so I could use that to check for existance of a file on-disc? When I tried to trace the code opening a file I always ended up in the general disc read function reading blocks, and not something like open("/Race/Course/whatever.szs") which I could use ...<br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:25, 14 October 2017 (UTC)<br />
<br />
:: About what determines which next button is selected, I think it's also in the BRCTR, but I'm not really sure in which value it depends. I remember that I modified this in my Race.szs pause menu, and the order didn't exactly changed, but it messed up and when pressing down or up it just skipped one button: http://avsys.xyz/pause_menu.avi —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:54, 14 October 2017 (UTC)<br />
<br />
::: Interesting. Do you still happen to have that BRCTR somewhere? Could the BRLYT be related to this, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 11:59, 14 October 2017 (UTC)<br />
::: @Chadderz would it be possible that the game uses some "internal size" for that? Maybe the "scale" in the BRCTR is just for display and they use the internal default size for navigation? I'll try rescaling the arrows to 1.0 and instead move them down a bit ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:19, 14 October 2017 (UTC)<br />
<br />
::: This is going to be veeery difficult ... I have just looked into the main menu BRCTR to find out how Nintendo does this - every time Nintendo has a block of buttons navigating onto a single button (like the 6 cups onto each of the arrows), they put the block of buttons into its own BRCTR. That means, they would have implemented "load arrow left, load another BRCTR with 6 cups, load arrow right" into that one pane instead of loading every single cup icon at the same time as the arrows. That means one would have to hook into the generic game code handling the navigation and implementing an edge case for exactly this menu and that is probably outside of my skills ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:42, 14 October 2017 (UTC)<br />
<br />
:::: Here's the BRCTR if you still need it: http://avsys.xyz/PauseMenuTimeAttack.brctr —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:28, 15 October 2017 (UTC)<br />
<br />
: I have found another solution: I have modded the CTCODE so pressing "right" on the two right cups or "left" on the two left cups does the scrolling. No need to select the arrow button (that can only be pressed with the wiimote pointer with that change), so this works in both rows. Only problem is that the track list below doesn't update while scrolling. It didn't do that before either, but the "arrow" has no tracks anyways. Do you happen to know which of the dozen functions in menu.mod (or in the game itself?) handles just refreshing the track list and nothing else? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 15:00, 14 October 2017 (UTC)<br />
<br />
:: Regarding MOD_DOL vs MOD_REL, the only thing to worry about is timing; MOD_DOL applies before any game code is run, whereas MOD_REL will apply shortly after StaticR.rel has loaded. Thus if you were patching say <code>OSCreateThread</code> using MOD_REL, only threads created after that time would use your mod. As for deciding whether an address is StaticR.rel or main.dol, that's actually trivial, below 0x80400000 is DOL, above is REL. The true cut off between the two is different, but fortunately there is a large gap between the two, so that test will always give the right answer. Most things we want to edit are in StaticR.rel, so what I tended to do in ct-code is use MOD_DOL to transfer large routines to the early RAM, then branch to them using MOD_RELs to keep those small.<br />
<br />
:: Regarding <code>memmem</code>, yes that is unnecessary for that, the game obviously does contain FST parsing code. If you didn't already know Twilight Princess is very useful in that the game disk contains a symbol table for the entire game's code. Thus if you own and dump that game you can find out what library routines exist and what they look like, then search for the equivalents in other games. I note that game has a method called <code>DVDConvertPathToEntrynum</code> so I speculate that will suffice for an existence check on a file. A quick look suggests it has one parameter; presumably the path in r3 and returns the index into the FST of the file or -1 for non existent files. I'd say it looks like that method is at 8015df4c in RMCP.<br />
<br />
:: Regarding the menus, I don't know where the game's method to refresh the track list is; we avoid needing it by having arrow buttons as you note. Bean does know where the method to change the text on an interface is, so perhaps if you ask him for that and breakpoint it, the track refresh method will be the one calling it.<br />
<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:14, 15 October 2017 (UTC)<br />
<br />
::: Thanks for the <code>DVDConvertPathToEntrynum</code> function, I'll try that. Now that you remember me of Twilight Princess, I have already heard that this game has debug symbols and I planned on buying it. That function sounds like it does what I want it to do. Bean has already told me the function to draw a BMG text to a panel, it's at 8063DDB4 PAL. I'll look into its call stack to see if I find a function refreshing the whole list. Thanks! -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:30, 15 October 2017 (UTC)<br />
<br />
Another quick question, the ct-code (at least, MKW Fun with the ct-code does) seems to crash when you play a 4-player offline VS race and multiple players select a mii to drive. The crash happens around 80601C70 PAL because of a "bctrl" to 0. Do you have an idea what causes this? Is this because of the ct-code or because of something else? Did CTGP 1.03 have this problem as well and if yes, how did you fix it? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:19, 16 October 2017 (UTC)<br />
<br />
: It's not possible to play 4 Player mode in ctgp anyway. It crashes as soon as you select 4p mode from the first menu. [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:32, 16 October 2017 (UTC)<br />
<br />
:: Wasn't this fixed in 1.03.1044? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:36, 16 October 2017 (UTC)<br />
<br />
::: It's broken again for a long time [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:49, 16 October 2017 (UTC)<br />
<br />
:::: As far as we know the 4 player freeze(s) are all to do with memory exhaustion. The cup icons increase the memory consumption too far, <code>malloc</code> fails and the game does something with <code>NULL</code>. We're looking into optimisations to avoid this such as changing the format of the icons. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 17 October 2017 (UTC)<br />
<br />
::::: The game requires that much memory it is unable to load ~50 small cup icons into RAM? Then how is it able to load multiple megabytes of tracks? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:15, 17 October 2017 (UTC)<br />
<br />
:::::: Because the game doesn't actually have full use of continuous RAM and an implementation of <code>malloc</code>. Memory allocation is much more complicated from what I've seen involving the various heaps each with a given capacity. If one of those fills up then further allocations to that heap will fail. So the game can run out of memory with many megabytes free. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]])<br />
<br />
: It still freezes with only 14 cups. Is this possible, that 14 cups plus whatever the game tries to allocate is still less than what ~50 cups need? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 20:41, 18 October 2017 (UTC)<br />
<br />
::The main culprit, I think, is ct_icons.tpl, which holds one 128x128 RGB5A3 icon for each cup (plus the two arrows). Maybe it's possible for the game to use 64x64 cup icons instead, which can cut the memory usage by 75% per cup. A BRLYT and/or BRCTR edit will be necessary though. [[User:Aplumafreak500|Aplumafreak500]] ([[User talk:Aplumafreak500|talk]]) 16:36, 19 October 2017 (UTC)<br />
<br />
::: Yes, we suspect ct_icons.tpl. I suspect it is copied to some small heap somewhere. Our thought was to change the format to CMPR, though this would imply a code change to CT-CODE. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:26, 22 October 2017 (UTC)<br />
<br />
:::: Wouldn't it be easier to make the game copy that to a larger heap / somewhere else where there is enough space? --[[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:34, 22 October 2017 (UTC)<br />
<br />
::::: Perhaps, but given we don't know where it's going in the first place, that may not be so easy. Changing texture formats is easy. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:59, 22 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=122169User talk:Chadderz2017-10-22T08:26:51Z<p>Chadderz: /* ct-code questions */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)<br />
<br />
:: Thanks for your answer. I'll try adding the free() call to the module to see. I know it's not that much space, but it would have the advantage that one could just place all mods as MOD_REL without needing to find out if the code is in the DOL or the REL (if this is unknown), and without having to worry about space. Or does MOD_DOL have any other advantage over MOD_REL when space is of no concern because I free() it?<br />
:: For the menu thing, if you have never changed anything about navigation but the game still recognizes the old special cup and the old lightning cup to be in the same row without any code or BRCTR mod, the only thing left could be position and size - but then why doesn't it select the arrow? In the main menu, you are perfectly able to press "down" on any of the "2 player, 3 player, 4 player" buttons to get to the MKWii channel. Maybe the left/right buttons' height is just a few pixels too low so the game doesn't recognize that these buttons stretch over two rows? I'll try making the arrow buttons a bit larger then. <br />
:: The thing about memmem() is unfortunate. I wanted to use it to check the existance of a file on the disc by searching for \x00filename\x00 in the FST. Do you know where the game routine to open a file on disc is, so I could use that to check for existance of a file on-disc? When I tried to trace the code opening a file I always ended up in the general disc read function reading blocks, and not something like open("/Race/Course/whatever.szs") which I could use ...<br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:25, 14 October 2017 (UTC)<br />
<br />
:: About what determines which next button is selected, I think it's also in the BRCTR, but I'm not really sure in which value it depends. I remember that I modified this in my Race.szs pause menu, and the order didn't exactly changed, but it messed up and when pressing down or up it just skipped one button: http://avsys.xyz/pause_menu.avi —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:54, 14 October 2017 (UTC)<br />
<br />
::: Interesting. Do you still happen to have that BRCTR somewhere? Could the BRLYT be related to this, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 11:59, 14 October 2017 (UTC)<br />
::: @Chadderz would it be possible that the game uses some "internal size" for that? Maybe the "scale" in the BRCTR is just for display and they use the internal default size for navigation? I'll try rescaling the arrows to 1.0 and instead move them down a bit ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:19, 14 October 2017 (UTC)<br />
<br />
::: This is going to be veeery difficult ... I have just looked into the main menu BRCTR to find out how Nintendo does this - every time Nintendo has a block of buttons navigating onto a single button (like the 6 cups onto each of the arrows), they put the block of buttons into its own BRCTR. That means, they would have implemented "load arrow left, load another BRCTR with 6 cups, load arrow right" into that one pane instead of loading every single cup icon at the same time as the arrows. That means one would have to hook into the generic game code handling the navigation and implementing an edge case for exactly this menu and that is probably outside of my skills ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:42, 14 October 2017 (UTC)<br />
<br />
:::: Here's the BRCTR if you still need it: http://avsys.xyz/PauseMenuTimeAttack.brctr —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:28, 15 October 2017 (UTC)<br />
<br />
: I have found another solution: I have modded the CTCODE so pressing "right" on the two right cups or "left" on the two left cups does the scrolling. No need to select the arrow button (that can only be pressed with the wiimote pointer with that change), so this works in both rows. Only problem is that the track list below doesn't update while scrolling. It didn't do that before either, but the "arrow" has no tracks anyways. Do you happen to know which of the dozen functions in menu.mod (or in the game itself?) handles just refreshing the track list and nothing else? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 15:00, 14 October 2017 (UTC)<br />
<br />
:: Regarding MOD_DOL vs MOD_REL, the only thing to worry about is timing; MOD_DOL applies before any game code is run, whereas MOD_REL will apply shortly after StaticR.rel has loaded. Thus if you were patching say <code>OSCreateThread</code> using MOD_REL, only threads created after that time would use your mod. As for deciding whether an address is StaticR.rel or main.dol, that's actually trivial, below 0x80400000 is DOL, above is REL. The true cut off between the two is different, but fortunately there is a large gap between the two, so that test will always give the right answer. Most things we want to edit are in StaticR.rel, so what I tended to do in ct-code is use MOD_DOL to transfer large routines to the early RAM, then branch to them using MOD_RELs to keep those small.<br />
<br />
:: Regarding <code>memmem</code>, yes that is unnecessary for that, the game obviously does contain FST parsing code. If you didn't already know Twilight Princess is very useful in that the game disk contains a symbol table for the entire game's code. Thus if you own and dump that game you can find out what library routines exist and what they look like, then search for the equivalents in other games. I note that game has a method called <code>DVDConvertPathToEntrynum</code> so I speculate that will suffice for an existence check on a file. A quick look suggests it has one parameter; presumably the path in r3 and returns the index into the FST of the file or -1 for non existent files. I'd say it looks like that method is at 8015df4c in RMCP.<br />
<br />
:: Regarding the menus, I don't know where the game's method to refresh the track list is; we avoid needing it by having arrow buttons as you note. Bean does know where the method to change the text on an interface is, so perhaps if you ask him for that and breakpoint it, the track refresh method will be the one calling it.<br />
<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:14, 15 October 2017 (UTC)<br />
<br />
::: Thanks for the <code>DVDConvertPathToEntrynum</code> function, I'll try that. Now that you remember me of Twilight Princess, I have already heard that this game has debug symbols and I planned on buying it. That function sounds like it does what I want it to do. Bean has already told me the function to draw a BMG text to a panel, it's at 8063DDB4 PAL. I'll look into its call stack to see if I find a function refreshing the whole list. Thanks! -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:30, 15 October 2017 (UTC)<br />
<br />
Another quick question, the ct-code (at least, MKW Fun with the ct-code does) seems to crash when you play a 4-player offline VS race and multiple players select a mii to drive. The crash happens around 80601C70 PAL because of a "bctrl" to 0. Do you have an idea what causes this? Is this because of the ct-code or because of something else? Did CTGP 1.03 have this problem as well and if yes, how did you fix it? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:19, 16 October 2017 (UTC)<br />
<br />
: It's not possible to play 4 Player mode in ctgp anyway. It crashes as soon as you select 4p mode from the first menu. [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:32, 16 October 2017 (UTC)<br />
<br />
:: Wasn't this fixed in 1.03.1044? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:36, 16 October 2017 (UTC)<br />
<br />
::: It's broken again for a long time [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:49, 16 October 2017 (UTC)<br />
<br />
:::: As far as we know the 4 player freeze(s) are all to do with memory exhaustion. The cup icons increase the memory consumption too far, <code>malloc</code> fails and the game does something with <code>NULL</code>. We're looking into optimisations to avoid this such as changing the format of the icons. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 17 October 2017 (UTC)<br />
<br />
::::: The game requires that much memory it is unable to load ~50 small cup icons into RAM? Then how is it able to load multiple megabytes of tracks? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:15, 17 October 2017 (UTC)<br />
<br />
:::::: Because the game doesn't actually have full use of continuous RAM and an implementation of <code>malloc</code>. Memory allocation is much more complicated from what I've seen involving the various heaps each with a given capacity. If one of those fills up then further allocations to that heap will fail. So the game can run out of memory with many megabytes free. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]])<br />
<br />
: It still freezes with only 14 cups. Is this possible, that 14 cups plus whatever the game tries to allocate is still less than what ~50 cups need? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 20:41, 18 October 2017 (UTC)<br />
<br />
::The main culprit, I think, is ct_icons.tpl, which holds one 128x128 RGB5A3 icon for each cup (plus the two arrows). Maybe it's possible for the game to use 64x64 cup icons instead, which can cut the memory usage by 75% per cup. A BRLYT and/or BRCTR edit will be necessary though. [[User:Aplumafreak500|Aplumafreak500]] ([[User talk:Aplumafreak500|talk]]) 16:36, 19 October 2017 (UTC)<br />
<br />
::: Yes, we suspect ct_icons.tpl. I suspect it is copied to some small heap somewhere. Our thought was to change the format to CMPR, though this would imply a code change to CT-CODE. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:26, 22 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:Wiimm%27s_Custom_Archive&diff=122168Talk:Wiimm's Custom Archive2017-10-22T08:20:34Z<p>Chadderz: /* SHA1s */ new section</p>
<hr />
<div>== SHA1s ==<br />
<br />
Hello. First of all, well done on your work to recover and restore the tracks after the recent take down, and I like the idea of a central repository such as yours. I was wondering if, as an extension, it might be possible to display and/or allowing searching for tracks by SHA1 using the same system as CTGP. That way we could interlink the archive with the leaderboards at [http://www.chadsoft.co.uk/time-trials/other-leaderboards.html www.chadsoft.co.uk/time-trials/other-leaderboards.html]. Our systems simply use the SHA1 of the decompressed U8 archive as the track ID. We also include the author intended slot as part of our ID, which may also be something your archive could log. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:20, 22 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120302User talk:Chadderz2017-10-17T09:27:51Z<p>Chadderz: /* ct-code questions */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)<br />
<br />
:: Thanks for your answer. I'll try adding the free() call to the module to see. I know it's not that much space, but it would have the advantage that one could just place all mods as MOD_REL without needing to find out if the code is in the DOL or the REL (if this is unknown), and without having to worry about space. Or does MOD_DOL have any other advantage over MOD_REL when space is of no concern because I free() it?<br />
:: For the menu thing, if you have never changed anything about navigation but the game still recognizes the old special cup and the old lightning cup to be in the same row without any code or BRCTR mod, the only thing left could be position and size - but then why doesn't it select the arrow? In the main menu, you are perfectly able to press "down" on any of the "2 player, 3 player, 4 player" buttons to get to the MKWii channel. Maybe the left/right buttons' height is just a few pixels too low so the game doesn't recognize that these buttons stretch over two rows? I'll try making the arrow buttons a bit larger then. <br />
:: The thing about memmem() is unfortunate. I wanted to use it to check the existance of a file on the disc by searching for \x00filename\x00 in the FST. Do you know where the game routine to open a file on disc is, so I could use that to check for existance of a file on-disc? When I tried to trace the code opening a file I always ended up in the general disc read function reading blocks, and not something like open("/Race/Course/whatever.szs") which I could use ...<br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:25, 14 October 2017 (UTC)<br />
<br />
:: About what determines which next button is selected, I think it's also in the BRCTR, but I'm not really sure in which value it depends. I remember that I modified this in my Race.szs pause menu, and the order didn't exactly changed, but it messed up and when pressing down or up it just skipped one button: http://avsys.xyz/pause_menu.avi —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:54, 14 October 2017 (UTC)<br />
<br />
::: Interesting. Do you still happen to have that BRCTR somewhere? Could the BRLYT be related to this, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 11:59, 14 October 2017 (UTC)<br />
::: @Chadderz would it be possible that the game uses some "internal size" for that? Maybe the "scale" in the BRCTR is just for display and they use the internal default size for navigation? I'll try rescaling the arrows to 1.0 and instead move them down a bit ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:19, 14 October 2017 (UTC)<br />
<br />
::: This is going to be veeery difficult ... I have just looked into the main menu BRCTR to find out how Nintendo does this - every time Nintendo has a block of buttons navigating onto a single button (like the 6 cups onto each of the arrows), they put the block of buttons into its own BRCTR. That means, they would have implemented "load arrow left, load another BRCTR with 6 cups, load arrow right" into that one pane instead of loading every single cup icon at the same time as the arrows. That means one would have to hook into the generic game code handling the navigation and implementing an edge case for exactly this menu and that is probably outside of my skills ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:42, 14 October 2017 (UTC)<br />
<br />
:::: Here's the BRCTR if you still need it: http://avsys.xyz/PauseMenuTimeAttack.brctr —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:28, 15 October 2017 (UTC)<br />
<br />
: I have found another solution: I have modded the CTCODE so pressing "right" on the two right cups or "left" on the two left cups does the scrolling. No need to select the arrow button (that can only be pressed with the wiimote pointer with that change), so this works in both rows. Only problem is that the track list below doesn't update while scrolling. It didn't do that before either, but the "arrow" has no tracks anyways. Do you happen to know which of the dozen functions in menu.mod (or in the game itself?) handles just refreshing the track list and nothing else? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 15:00, 14 October 2017 (UTC)<br />
<br />
:: Regarding MOD_DOL vs MOD_REL, the only thing to worry about is timing; MOD_DOL applies before any game code is run, whereas MOD_REL will apply shortly after StaticR.rel has loaded. Thus if you were patching say <code>OSCreateThread</code> using MOD_REL, only threads created after that time would use your mod. As for deciding whether an address is StaticR.rel or main.dol, that's actually trivial, below 0x80400000 is DOL, above is REL. The true cut off between the two is different, but fortunately there is a large gap between the two, so that test will always give the right answer. Most things we want to edit are in StaticR.rel, so what I tended to do in ct-code is use MOD_DOL to transfer large routines to the early RAM, then branch to them using MOD_RELs to keep those small.<br />
<br />
:: Regarding <code>memmem</code>, yes that is unnecessary for that, the game obviously does contain FST parsing code. If you didn't already know Twilight Princess is very useful in that the game disk contains a symbol table for the entire game's code. Thus if you own and dump that game you can find out what library routines exist and what they look like, then search for the equivalents in other games. I note that game has a method called <code>DVDConvertPathToEntrynum</code> so I speculate that will suffice for an existence check on a file. A quick look suggests it has one parameter; presumably the path in r3 and returns the index into the FST of the file or -1 for non existent files. I'd say it looks like that method is at 8015df4c in RMCP.<br />
<br />
:: Regarding the menus, I don't know where the game's method to refresh the track list is; we avoid needing it by having arrow buttons as you note. Bean does know where the method to change the text on an interface is, so perhaps if you ask him for that and breakpoint it, the track refresh method will be the one calling it.<br />
<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:14, 15 October 2017 (UTC)<br />
<br />
::: Thanks for the <code>DVDConvertPathToEntrynum</code> function, I'll try that. Now that you remember me of Twilight Princess, I have already heard that this game has debug symbols and I planned on buying it. That function sounds like it does what I want it to do. Bean has already told me the function to draw a BMG text to a panel, it's at 8063DDB4 PAL. I'll look into its call stack to see if I find a function refreshing the whole list. Thanks! -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:30, 15 October 2017 (UTC)<br />
<br />
Another quick question, the ct-code (at least, MKW Fun with the ct-code does) seems to crash when you play a 4-player offline VS race and multiple players select a mii to drive. The crash happens around 80601C70 PAL because of a "bctrl" to 0. Do you have an idea what causes this? Is this because of the ct-code or because of something else? Did CTGP 1.03 have this problem as well and if yes, how did you fix it? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:19, 16 October 2017 (UTC)<br />
<br />
: It's not possible to play 4 Player mode in ctgp anyway. It crashes as soon as you select 4p mode from the first menu. [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:32, 16 October 2017 (UTC)<br />
<br />
:: Wasn't this fixed in 1.03.1044? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:36, 16 October 2017 (UTC)<br />
<br />
::: It's broken again for a long time [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:49, 16 October 2017 (UTC)<br />
<br />
:::: As far as we know the 4 player freeze(s) are all to do with memory exhaustion. The cup icons increase the memory consumption too far, <code>malloc</code> fails and the game does something with <code>NULL</code>. We're looking into optimisations to avoid this such as changing the format of the icons. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 17 October 2017 (UTC)<br />
<br />
::::: The game requires that much memory it is unable to load ~50 small cup icons into RAM? Then how is it able to load multiple megabytes of tracks? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 09:15, 17 October 2017 (UTC)<br />
<br />
:::::: Because the game doesn't actually have full use of continuous RAM and an implementation of <code>malloc</code>. Memory allocation is much more complicated from what I've seen involving the various heaps each with a given capacity. If one of those fills up then further allocations to that heap will fail. So the game can run out of memory with many megabytes free. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]])</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120300User talk:Chadderz2017-10-17T09:07:27Z<p>Chadderz: /* ct-code questions */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)<br />
<br />
:: Thanks for your answer. I'll try adding the free() call to the module to see. I know it's not that much space, but it would have the advantage that one could just place all mods as MOD_REL without needing to find out if the code is in the DOL or the REL (if this is unknown), and without having to worry about space. Or does MOD_DOL have any other advantage over MOD_REL when space is of no concern because I free() it?<br />
:: For the menu thing, if you have never changed anything about navigation but the game still recognizes the old special cup and the old lightning cup to be in the same row without any code or BRCTR mod, the only thing left could be position and size - but then why doesn't it select the arrow? In the main menu, you are perfectly able to press "down" on any of the "2 player, 3 player, 4 player" buttons to get to the MKWii channel. Maybe the left/right buttons' height is just a few pixels too low so the game doesn't recognize that these buttons stretch over two rows? I'll try making the arrow buttons a bit larger then. <br />
:: The thing about memmem() is unfortunate. I wanted to use it to check the existance of a file on the disc by searching for \x00filename\x00 in the FST. Do you know where the game routine to open a file on disc is, so I could use that to check for existance of a file on-disc? When I tried to trace the code opening a file I always ended up in the general disc read function reading blocks, and not something like open("/Race/Course/whatever.szs") which I could use ...<br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:25, 14 October 2017 (UTC)<br />
<br />
:: About what determines which next button is selected, I think it's also in the BRCTR, but I'm not really sure in which value it depends. I remember that I modified this in my Race.szs pause menu, and the order didn't exactly changed, but it messed up and when pressing down or up it just skipped one button: http://avsys.xyz/pause_menu.avi —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:54, 14 October 2017 (UTC)<br />
<br />
::: Interesting. Do you still happen to have that BRCTR somewhere? Could the BRLYT be related to this, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 11:59, 14 October 2017 (UTC)<br />
::: @Chadderz would it be possible that the game uses some "internal size" for that? Maybe the "scale" in the BRCTR is just for display and they use the internal default size for navigation? I'll try rescaling the arrows to 1.0 and instead move them down a bit ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:19, 14 October 2017 (UTC)<br />
<br />
::: This is going to be veeery difficult ... I have just looked into the main menu BRCTR to find out how Nintendo does this - every time Nintendo has a block of buttons navigating onto a single button (like the 6 cups onto each of the arrows), they put the block of buttons into its own BRCTR. That means, they would have implemented "load arrow left, load another BRCTR with 6 cups, load arrow right" into that one pane instead of loading every single cup icon at the same time as the arrows. That means one would have to hook into the generic game code handling the navigation and implementing an edge case for exactly this menu and that is probably outside of my skills ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:42, 14 October 2017 (UTC)<br />
<br />
:::: Here's the BRCTR if you still need it: http://avsys.xyz/PauseMenuTimeAttack.brctr —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:28, 15 October 2017 (UTC)<br />
<br />
: I have found another solution: I have modded the CTCODE so pressing "right" on the two right cups or "left" on the two left cups does the scrolling. No need to select the arrow button (that can only be pressed with the wiimote pointer with that change), so this works in both rows. Only problem is that the track list below doesn't update while scrolling. It didn't do that before either, but the "arrow" has no tracks anyways. Do you happen to know which of the dozen functions in menu.mod (or in the game itself?) handles just refreshing the track list and nothing else? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 15:00, 14 October 2017 (UTC)<br />
<br />
:: Regarding MOD_DOL vs MOD_REL, the only thing to worry about is timing; MOD_DOL applies before any game code is run, whereas MOD_REL will apply shortly after StaticR.rel has loaded. Thus if you were patching say <code>OSCreateThread</code> using MOD_REL, only threads created after that time would use your mod. As for deciding whether an address is StaticR.rel or main.dol, that's actually trivial, below 0x80400000 is DOL, above is REL. The true cut off between the two is different, but fortunately there is a large gap between the two, so that test will always give the right answer. Most things we want to edit are in StaticR.rel, so what I tended to do in ct-code is use MOD_DOL to transfer large routines to the early RAM, then branch to them using MOD_RELs to keep those small.<br />
<br />
:: Regarding <code>memmem</code>, yes that is unnecessary for that, the game obviously does contain FST parsing code. If you didn't already know Twilight Princess is very useful in that the game disk contains a symbol table for the entire game's code. Thus if you own and dump that game you can find out what library routines exist and what they look like, then search for the equivalents in other games. I note that game has a method called <code>DVDConvertPathToEntrynum</code> so I speculate that will suffice for an existence check on a file. A quick look suggests it has one parameter; presumably the path in r3 and returns the index into the FST of the file or -1 for non existent files. I'd say it looks like that method is at 8015df4c in RMCP.<br />
<br />
:: Regarding the menus, I don't know where the game's method to refresh the track list is; we avoid needing it by having arrow buttons as you note. Bean does know where the method to change the text on an interface is, so perhaps if you ask him for that and breakpoint it, the track refresh method will be the one calling it.<br />
<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:14, 15 October 2017 (UTC)<br />
<br />
::: Thanks for the <code>DVDConvertPathToEntrynum</code> function, I'll try that. Now that you remember me of Twilight Princess, I have already heard that this game has debug symbols and I planned on buying it. That function sounds like it does what I want it to do. Bean has already told me the function to draw a BMG text to a panel, it's at 8063DDB4 PAL. I'll look into its call stack to see if I find a function refreshing the whole list. Thanks! -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:30, 15 October 2017 (UTC)<br />
<br />
Another quick question, the ct-code (at least, MKW Fun with the ct-code does) seems to crash when you play a 4-player offline VS race and multiple players select a mii to drive. The crash happens around 80601C70 PAL because of a "bctrl" to 0. Do you have an idea what causes this? Is this because of the ct-code or because of something else? Did CTGP 1.03 have this problem as well and if yes, how did you fix it? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:19, 16 October 2017 (UTC)<br />
<br />
: It's not possible to play 4 Player mode in ctgp anyway. It crashes as soon as you select 4p mode from the first menu. [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:32, 16 October 2017 (UTC)<br />
<br />
:: Wasn't this fixed in 1.03.1044? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:36, 16 October 2017 (UTC)<br />
<br />
::: It's broken again for a long time [[User:Sucht93a|Sucht93a]] ([[User talk:Sucht93a|talk]]) 17:49, 16 October 2017 (UTC)<br />
<br />
:::: As far as we know the 4 player freeze(s) are all to do with memory exhaustion. The cup icons increase the memory consumption too far, <code>malloc</code> fails and the game does something with <code>NULL</code>. We're looking into optimisations to avoid this such as changing the format of the icons. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:07, 17 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120222User talk:Chadderz2017-10-15T09:14:48Z<p>Chadderz: /* ct-code questions */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)<br />
<br />
:: Thanks for your answer. I'll try adding the free() call to the module to see. I know it's not that much space, but it would have the advantage that one could just place all mods as MOD_REL without needing to find out if the code is in the DOL or the REL (if this is unknown), and without having to worry about space. Or does MOD_DOL have any other advantage over MOD_REL when space is of no concern because I free() it?<br />
:: For the menu thing, if you have never changed anything about navigation but the game still recognizes the old special cup and the old lightning cup to be in the same row without any code or BRCTR mod, the only thing left could be position and size - but then why doesn't it select the arrow? In the main menu, you are perfectly able to press "down" on any of the "2 player, 3 player, 4 player" buttons to get to the MKWii channel. Maybe the left/right buttons' height is just a few pixels too low so the game doesn't recognize that these buttons stretch over two rows? I'll try making the arrow buttons a bit larger then. <br />
:: The thing about memmem() is unfortunate. I wanted to use it to check the existance of a file on the disc by searching for \x00filename\x00 in the FST. Do you know where the game routine to open a file on disc is, so I could use that to check for existance of a file on-disc? When I tried to trace the code opening a file I always ended up in the general disc read function reading blocks, and not something like open("/Race/Course/whatever.szs") which I could use ...<br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 10:25, 14 October 2017 (UTC)<br />
<br />
:: About what determines which next button is selected, I think it's also in the BRCTR, but I'm not really sure in which value it depends. I remember that I modified this in my Race.szs pause menu, and the order didn't exactly changed, but it messed up and when pressing down or up it just skipped one button: http://avsys.xyz/pause_menu.avi —[[Atlas]] ([[User Talk:Atlas|talk]]) – [[Help:Contents|<span style="color:red;background:black;border-style:double">CT/MK8 Wiki Admin</span>]] 11:54, 14 October 2017 (UTC)<br />
<br />
::: Interesting. Do you still happen to have that BRCTR somewhere? Could the BRLYT be related to this, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 11:59, 14 October 2017 (UTC)<br />
::: @Chadderz would it be possible that the game uses some "internal size" for that? Maybe the "scale" in the BRCTR is just for display and they use the internal default size for navigation? I'll try rescaling the arrows to 1.0 and instead move them down a bit ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:19, 14 October 2017 (UTC)<br />
<br />
::: This is going to be veeery difficult ... I have just looked into the main menu BRCTR to find out how Nintendo does this - every time Nintendo has a block of buttons navigating onto a single button (like the 6 cups onto each of the arrows), they put the block of buttons into its own BRCTR. That means, they would have implemented "load arrow left, load another BRCTR with 6 cups, load arrow right" into that one pane instead of loading every single cup icon at the same time as the arrows. That means one would have to hook into the generic game code handling the navigation and implementing an edge case for exactly this menu and that is probably outside of my skills ... -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 12:42, 14 October 2017 (UTC)<br />
<br />
: I have found another solution: I have modded the CTCODE so pressing "right" on the two right cups or "left" on the two left cups does the scrolling. No need to select the arrow button (that can only be pressed with the wiimote pointer with that change), so this works in both rows. Only problem is that the track list below doesn't update while scrolling. It didn't do that before either, but the "arrow" has no tracks anyways. Do you happen to know which of the dozen functions in menu.mod (or in the game itself?) handles just refreshing the track list and nothing else? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 15:00, 14 October 2017 (UTC)<br />
<br />
:: Regarding MOD_DOL vs MOD_REL, the only thing to worry about is timing; MOD_DOL applies before any game code is run, whereas MOD_REL will apply shortly after StaticR.rel has loaded. Thus if you were patching say <code>OSCreateThread</code> using MOD_REL, only threads created after that time would use your mod. As for deciding whether an address is StaticR.rel or main.dol, that's actually trivial, below 0x80400000 is DOL, above is REL. The true cut off between the two is different, but fortunately there is a large gap between the two, so that test will always give the right answer. Most things we want to edit are in StaticR.rel, so what I tended to do in ct-code is use MOD_DOL to transfer large routines to the early RAM, then branch to them using MOD_RELs to keep those small.<br />
<br />
:: Regarding <code>memmem</code>, yes that is unnecessary for that, the game obviously does contain FST parsing code. If you didn't already know Twilight Princess is very useful in that the game disk contains a symbol table for the entire game's code. Thus if you own and dump that game you can find out what library routines exist and what they look like, then search for the equivalents in other games. I note that game has a method called <code>DVDConvertPathToEntrynum</code> so I speculate that will suffice for an existence check on a file. A quick look suggests it has one parameter; presumably the path in r3 and returns the index into the FST of the file or -1 for non existent files. I'd say it looks like that method is at 8015df4c in RMCP.<br />
<br />
:: Regarding the menus, I don't know where the game's method to refresh the track list is; we avoid needing it by having arrow buttons as you note. Bean does know where the method to change the text on an interface is, so perhaps if you ask him for that and breakpoint it, the track refresh method will be the one calling it.<br />
<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:14, 15 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120182User talk:Chadderz2017-10-14T10:05:08Z<p>Chadderz: /* ct-code questions */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)<br />
<br />
== ct-code questions ==<br />
<br />
Hi Chadderz, <br />
I am just playing around with the ct-code and I have a few questions: <br />
<br />
- I found the following comment in one of the README files: "Unfortunately, for simplicity, MOD2 remains in memory prementantly. Therefore we want to make it as small as possible, so anything which can be done in MOD1 should be." Is there a reason - other than "we had no time" - you didn't just call free() on the pointer at the end of the code in /bad1/bad1Data/mod/mod2.mod? That code only runs once, and I didn't see any other place in the code that would need the mod2 pointer. Am I missing something? Wouldn't it work to just call free() after applying these patches? Or does that result in any other problems I don't know of?<br />
<br />
- You changed CupSelectCup.brctr and CourseSelectCup.brctr to have the new CTGP menu with the arrows scrolling through the code. Opening the BRCTR in a BRCTR editor, I have found the modifications you did to move the buttons and change their size, and I found the mods in menu.mod which scroll the menu when they are pressed. However, I was unable to find the code parts related to navigating through these buttons. Is that behavior (what button will be selected next when I press one of the cursor buttons) in the brctr? Is it in the menu.mod and I missed it? I don't like the fact that I can't select the arrow buttons while on the bottom row and would like to change that somehow...<br />
<br />
- Do you happen to know if MKWii has a memmem() function somewhere? I don't have that on my function list, and writing memmem() using a loop around memcmp() sounds slow and not a great solution when called on a larger memory space .. <br />
<br />
Thanks for answering my questions, -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:13, 13 October 2017 (UTC)<br />
: Hi Leseratte,<br />
:<br />
: - I no longer recall whether or not there is anything that relies on MOD2 remaining resident, but given that I wrote "for simplicity" I'm assuming it's just a case of not knowing where <code>free</code> was when I wrote it or something equally silly. I don't believe there is any need to keep it around, but I can't promise. Either way, it's not actually that big so I'm not sure it matters.<br />
:<br />
: - When we did the edits to the brctr files, there were no editors available, we did it by searching for the floating point numbers we'd found in RAM and editing the relevant ones. As far as I know that's all we did to the brctrs. All the actual behaviour is in menu.mod. As far as navigating between buttons is concerned, I don't actually know how that works. I thought it was deduced automatically based on the buttons coordinates, though it is slightly dodgy for the arrows as you note. I don't remember changing anything to cause the new layout to link up correctly. Perhaps the modern knowledge of brctrs could explain the dodgy behaviour ct-code exhibits.<br />
:<br />
: - <code>memmem</code> is a glibc extension and not in the C standard library as far as I know, so it's unlikely to be present. I'm also not aware of any similar function that I've seen. A loop around <code>memcmp</code> would not be terribly inefficient for small searches, generally matches will be rare so <code>memcmp</code> will return after checking one byte. If you're searching a larger range then probably you should implement something like the [https://en.wikipedia.org/wiki/Rabin–Karp_algorithm Rabin-Karp algorithm]. Brainslug solves the same problem with the [https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm Knuth-Morris-Pratt algorithm] but that's overkill.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:05, 14 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=DOL_(File_Format)&diff=120065DOL (File Format)2017-10-09T09:22:08Z<p>Chadderz: Give this format the usual treatment.</p>
<hr />
<div>The '''DOL''' format is the name given to a section of [[Wii]] and [[GameCube]] disc partitions. This section represents an object file. It contains [[Assembly Code|code]] for the game or program on the disc as well as the data needed by that code. The discs do not explicitly contain a file with the DOL format in the file system, but by convention most disc viewers/editors list a file called '''main.dol''' which contains the DOL section of the disc. [[Mario Kart Wii]]'s disc contains three DOL sections for each of its three disc partitions. This article documents the generic DOL format, information about Mario Kart Wii's main DOL can be found at [[main.dol]].<br />
<br />
= File Format =<br />
<br />
Like many object formats, DOLs are divided into sections, grouped by like access. For example, executable code may be placed in one section, read only data in another, etc. The file begins with a header and then is directly followed by the section data. The format does not support relocation or symbol information and so DOLs are much simpler and much less flexible than most common object formats such as ELF or PE (.exe). The [[REL (File Format)|REL format]] is used by some games including [[Mario Kart Wii]] when a more complex object format is required.<br />
<br />
== Header ==<br />
The file begins with a header of 0x100 bytes. The header allows for a maximum of 18 sections with contents. The first 7 sections can contain executable code and the remaining 11 sections can only contain data. The header also allows for a zero initialised (<code>bss</code>) range. This range can overlap the 18 sections, with the sections taking priority. DOL files on [[Wii]] and [[GameCube]] should only affect address in the range <code>0x80004000</code> to <code>0x81200000</code>. Addresses outside this range are reserved for the operating system and the loader.<br />
<br />
{| class="wikitable"<br />
|+ DOL file header<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x000<br />
| 4 &times; 18<br />
| '''Section offsets''' indicate where each section's data begins relative to the start of this header. '''0''' for unused sections.<br />
|-<br />
| 0x048<br />
| 4 &times; 18<br />
| '''Section address''' indicates where each section should be copied to by the loader as a virtual memory address. '''0''' for unused sections.<br />
|-<br />
| 0x090<br />
| 4 &times; 18<br />
| '''Section lengths''' indicate the size in bytes of each section. '''0''' for unused sections.<br />
|-<br />
| 0x0d8<br />
| 4<br />
| '''bss address''' indicates the start of the zero initialised (<code>bss</code>) range.<br />
|-<br />
| 0x0dc<br />
| 4<br />
| '''bss length''' indicates the size in bytes of the zero initialised (<code>bss</code>) range.<br />
|-<br />
| 0x0e0<br />
| 4<br />
| '''Entry point''' indicates the virtual memory address of a function to run after the the DOL has been loaded in order to start the program. This function should not return.<br />
|-<br />
| 0x0e4<br />
| 0x1c<br />
| {{unknown|Padding.}}<br />
|-<br />
| 0x100<br />
| colspan=3 {{unknown|'''End of header'''. Start of section data.}}<br />
|-<br />
|}<br />
<br />
A GNU C-definition of the DOL header:<br />
<pre><br />
#define DOL_N_TEXT_SECTIONS 7<br />
#define DOL_N_DATA_SECTIONS 11<br />
#define DOL_N_SECTIONS 18<br />
<br />
#define DOL_HEADER_SIZE 0x100<br />
<br />
typedef struct dol_header_t<br />
{<br />
/* 0x00 */ uint32_t sect_off [DOL_N_SECTIONS]; // file offset<br />
/* 0x48 */ uint32_t sect_addr[DOL_N_SECTIONS]; // virtual address<br />
/* 0x90 */ uint32_t sect_size[DOL_N_SECTIONS]; // section size<br />
/* 0xd8 */ uint32_t bss_addr; // BSS address<br />
/* 0xdc */ uint32_t bss_size; // BSS size<br />
/* 0xe0 */ uint32_t entry_addr; // entry point<br />
/* 0xe4 */ uint8_t padding[DOL_HEADER_SIZE-0xe4];<br />
}<br />
__attribute__ ((packed)) dol_header_t;<br />
</pre><br />
<br />
[[Category:File Format/Other]]</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120049User talk:Chadderz2017-10-08T18:13:09Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
::::::: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:::::::: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::::::::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::::::::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::::::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::::::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
::::::::::::: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:::::::::::::: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)<br />
::::::::::::::: So for the NTSC-U main.dol, would it be the same offset? Also, my main.dol ends at 0x29F340. And if I subtract 0x80004000 from 0x802A5000, the result is 0x2A1000, which is past the end of the file. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 18:08, 8 October 2017 (UTC)<br />
:::::::::::::::: Subtracting 0x80004000 is not how DOLs work. You need to look at the header which is (somewhat) documented at [[DOL (File Format)]]. Different parts of the file need different adjustments. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 18:13, 8 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120047User talk:Chadderz2017-10-08T17:59:14Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
::::::: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:::::::: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::::::::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::::::::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::::::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::::::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)<br />
::::::::::::: Ok. Also, when I installed the CTGP source, it said in the BUILDING file: A code section to be appended to the main executable of the game (main.dol) which should be loaded at 0x802A5000. But I checked the main.dol, and it ends before 0x802A5000. Do I have to fill the gap with 00's? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:48, 8 October 2017 (UTC)<br />
:::::::::::::: Yes anything which loads the right stuff at the right address will do. The way we did it is to add a new section, meaning using some of the unused parts of the header and extending the file. The dol actually ends at 8038917c (in PAL) so 802A5000 does actually overlap the game's .bss section so it is 'in the dol' but not as a loadable address. You could also just download CTGP 1.02 and take a look at the dol file to see how we did it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:59, 8 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120043User talk:Chadderz2017-10-08T17:38:29Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
::::::: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:::::::: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::::::::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::::::::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)<br />
::::::::::: Ok. I was wondering about the GUI and the C code to install the patches when we click "Launch Game". Is it just a few images loaded by the code? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:21, 8 October 2017 (UTC)<br />
:::::::::::: There is nothing special about the GUI, any guide for homebrew app gui would teach you that. Installing the patches is complicated and unique. As I say, Brainslug my offer some hints on how to do that. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:38, 8 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120040User talk:Chadderz2017-10-08T17:15:42Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
::::::: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:::::::: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)<br />
:::::::::And if I wanted to make a channel like that, what tools would I need to download and how would I make it patch the files? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:11, 8 October 2017 (UTC)<br />
:::::::::: It's just developed using devkitPro. It's not a question of tools; we had to program it to do everything it can do. Maybe take a look at [https://github.com/Chadderz121/brainslug-wii Brainslug] for an example of an app coded to load a game and mod it in some way. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:15, 8 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120038User talk:Chadderz2017-10-08T17:04:48Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)<br />
::::::: Ok. And was the CTGP channel developped in PPC or C? Maybe I'd start making some channels like it. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 17:02, 8 October 2017 (UTC)<br />
:::::::: Almost entirely C. The game mod parts are part C part PPC. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:04, 8 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120036User talk:Chadderz2017-10-08T16:20:51Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)<br />
:::::Also, I've heard that DOL's from games and DOL's from homebrew apps are completely different. Is that true? If so, how are they different? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 16:14, 8 October 2017 (UTC)<br />
:::::: Not completely different no, they're about the same in terms of file format (a very minor variation). The code is all PPC asm. gcc, the devkitpro compiler, generates somewhat different looking code compared with the game's compiler. They also use totally different libraries. They are far more alike than different though, and both would be find to analyse and understand.<br />
:::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:20, 8 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120022User talk:Chadderz2017-10-08T07:50:49Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.<br />
:::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:50, 8 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=120021User talk:Chadderz2017-10-08T07:50:32Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)<br />
::: Alright. Also, do you have a disassembler for the game's code and a ram map so I can start studying the game's code? I'd like to study that while I learn ppc. [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 01:38, 8 October 2017 (UTC)<br />
:::: Both Dolphin and the tools that work with the USB Gecko (Gecko dotNet and Wiird) all come with inbuilt disassemblers. Personally, when I want I full game disassembly I use powerpc-eabi-objdump from devkitPro. There are no address maps for MKWii that I know of publicly. That's why the debugging tools are so useful; you can breakpoint interesting code or data to find out when it is used and then start analysing the code from there. A handful of articles on this wiki in the [[:Category:Functions|Function Category]] pages have addresses in which you could also use as a reference.</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=User_talk:Chadderz&diff=119897User talk:Chadderz2017-10-05T08:12:09Z<p>Chadderz: /* Making code patches for Mario Kart Wii */</p>
<hr />
<div>== CTGPR title screen ==<br />
<br />
Hi chadderz, I saw you a preparing a CTGPR 1.02.<br />
I have designed a title screen image that I thought could be used considering that the CTGPR 1.01 title screen image is not very resembling to the original mkwii style:<br />
[http://img4.hostingpics.net/pics/441990mariokartCTGPRall.jpg CTGPR]<br />
I also made a "bokeboke" one:<br />
[http://img4.hostingpics.net/pics/640820mariokartCTGPRallbokeboke.jpg CTGPR bokeboke]<br />
<br />
[[User:GenieEte0|GenieEte0]] 19:42, 12 June 2012<br />
<br />
<br />
----<br />
<br />
<br />
Hi chadders,<br />
2 questions about Modifier and CTools:<br />
* Can your tools (de-)compress any kind oy yaz0 files or only U8/SZS and BRRES/SZS files. <br />
* Can your tools handle uncompressed U8 and BRRES files?<br />
I need this info to write some hints in the tool sections of [[YAZ0 (File Format)]] and of [[U8 (File Format)]]<br/><br />
[[User:Wiimm|Wiimm]] 16:33, 16 April 2011 (CEST)<br />
:Only U8/SZS will be decompressed. Yes, the tools can handle uncompressed files.<br />
: [[User:Chadderz|Chadderz]] 23:53, 16 April 2011 (CEST)<br />
<br />
Hi Chadderz,<br />
I hope that one day, the post effects can be easier to edit and understand. It would be a really great contribution to a track like GBA Luigi Circuit.<br />
<br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 10:56, 20 April 2011 (CMT)<br />
: I'm focusing on getting a CTools KMP editor first, but then I will look at other formats like post effects, as well as things like menu formats.<br />
: [[User:Chadderz|Chadderz]] 01:01, 1 May 2011 (CEST)<br />
<br />
----<br />
<br />
Happy 18th Birthday Chadderz :P. Without you MKWii wouldn'd be so much hacked :P<br />
<br />
[[User:Tock|Tock]] 14:02, 8 June 2011 (CEST)<br />
<br />
----<br />
<br />
For the KMP Editor, It'd be a great idea to have Auto Configuration for Enemy/Item Routes. And for the Y positions to be simplified, not only have a map within the KMP editor, but display the course model too. (Though this will be a lot of work, I guarantee that).<br/><br />
[[User:ALPHAMARIOX|ALPHAMARIOX]] 5:32, 2 July 2011 (CMST)<br />
: I was already intending to have both a 3d view in the editor, and more automated detection.<br />
: [[User:Chadderz|Chadderz]] 23:29, 3 July 2011 (CEST)<br />
<br />
== Imposter?... ==<br />
<br />
Hey Chadderz! You've heard of the "Super Mario Galaxy 2.5" project, right? Anyways, users there claim that you and Mr. Bean are helping to contribute to that hack by making a multiplayer mode for Super Mario Galaxy 2. Are you and Bean really a part of that hack? Or are people just pretending/lying?<br />
<br />
[[SuperMario64DS]] 21:05, 25 September 2011 (CEST)<br />
<br />
: Sorry for the delay; hadn't noticed this! We did start work on the multiplayer; and made quite some progress, but something must have distracted us because we stopped. I don't remember why. We haven't worked on it for quite a while, but we still have all that we did. We may go back to it at some point. Sadly, now that I'm at university, I have little time for any of this, so it won't be until the next vecation at least.<br />
: [[User:Chadderz|Chadderz]] 07:59, 25 October 2011 (CEST)<br />
<br />
== CTGP Revolution Translate. ==<br />
<br />
How do I translate v1.02.0000? Do you give people the files? Or do i need to translate v1.01.0000?<br><br />
[[User:PC Freak|PC Freak]] 11:16, 11 April 2012 (CEST)<br />
: By the chance, I still need you to send me the files to translate. Sorry for bothering but I'm very impatient.<br />
:[[User:MrSkopelos27|MrSkopelos27]] 11:24, 11 April 2012<br />
:: Given how large the translation will be, I've decided we will also do it on the wiki. I'm just creating the articles (one per translation), they will be up before the end of today.<br />
:: [[User:Chadderz|Chadderz]] 13:22, 11 April 2012 (CEST)<br />
Why my username was delete , I don't understand...<br />
: Because that section was only for translating to languages which aren't already in the Game. French is already a game language, so doesn't belong there.<br />
: [[User:Chadderz|Chadderz]] 20:55, 11 April 2012 (CEST)<br />
<br />
: I could translate the PAL Spanish part,didn't knew about NTSC-U part. U can put trasnlation to Spanish (PAL) by x,y and z; and translation to Spanish (NTSC-U) by x,y and z. ;) <br />
: [[User:08Juan80|08Juan80]] 16:35, 15 April 2012 (UTC)<br />
<br />
::I think the translations are complete, i edited it a little bit.--[[User:Funkykong975|Funkykong975]] 11:59, 26 May 2012 (UTC)<br />
<br />
== The Language transaltion ==<br />
<br />
It's a general spanish, for the mexican and spanish people. The mexican people can understand the same language that the spanish, so we don't need to do a second-spanish language. I have some questions for you, ¿why the name page of your programs is chadderz is a geek? ¿The speed-o-meter will be to multiplayer mode? ¿How you can record the video from the TV? I can record with the same quality... And the last, ¿What is the name of the program to do multi channel brtsm? I can't do it with brawl box or Audacity.<br />
<br />
== Email ==<br />
<br />
Did you see the email I did send you?--[[User:Gericom|Gericom]] 11:29, 14 July 2012 (UTC)<br />
<br />
== CTGPR Modifications ==<br />
<br />
Can i release Texture Hack GP Revolution based on your distribution with texture hacked tracks and title screen ???? [[User:dswii3ds]] ([[User talk:dswii3ds|talk]])<br />
<br />
== Help? ==<br />
I have seen that you have created the CTGP 2.8 and 4.4, I would create such a distribution, could you help me to edit the main.dol, please?. --[[User:Super-Mario68|Super-Mario68]] ([[User talk:Super-Mario68|talk]]) 20:11, 20 September 2013<br />
<br />
==CTGPR Channel==<br />
The channel is not downloading onto my wii... I have the flat Wii w/o GC ports ("Family Edition" as Nintendo calls it) running 4.3 . I can still run the channel via HBC and Riivolution (I haven't tried Riivo actually) but it is a minor annoyance... sorry if I seem desperate (I already PM'ed Bean on youtube) :| The bar just goes about halfway in and the screen shows the "starting" message. I left it on for 1 hour and 23 minutes and the screen didn't change :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 07:00, 13 January 2014 (UTC)<br />
: What exactly are you trying to do with it? Do you mean installing it to the Wii menu? If so, I admit we've never tested on a Family Edition before.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 13:02, 14 January 2014 (UTC)<br />
::Yes, I am trying to install it to the Wii Menu. Sorry that I wasn't able to provide more information :/ [[User:Invis|invis]] ([[User talk:Invis|talk]]) 02:43, 17 January 2014 (UTC)<br />
<br />
== SZS Modifier ==<br />
<br />
Did you use vb.net to create the SZS modifier?<br />
<br />
== Help ==<br />
I've sent an email to support@chadderz.is-a-geek.com. Have you seen it? Sorry for disturbing, [[User:SlimShady|SlimShady]] ([[User talk:SlimShady|talk]]) 20:54, 27 January 2014 (UTC)<br />
<br />
== Why does CTGPR use 49 regions? ==<br />
<br />
Why does CTGPR 1.03 use 49 regions? Does every minor update switch to a new region as a result of your overprotective loading software? --[[User:PretendingToBePro|PretendingToBePro]] ([[User talk:PretendingToBePro|talk]]) 19:36, 18 March 2014 (UTC)<br />
<br />
: Yes, it's too stop update conflicts, and also to make it more difficult to hack. We didn't originally reserve this many regions, someone else did it for us, but since there are 65535 confirmed regions, I don't foresee a problem.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:46, 10 April 2014 (UTC)<br />
<br />
== Source code ==<br />
<br />
Will you ever release the sources for SZS Modifier? [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 04:25, 12 April 2014 (UTC)<br />
: No, it is so badly written that it wouldn't help anyone, and I no longer have a working version.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 10:49, 20 April 2014 (UTC)<br />
<br />
:: Oh, ok :/<br />
:: [[User:Suigetsu|-- Suigetsu, the transformation]] ([[User talk:Suigetsu|talk]]) 13:33, 20 April 2014 (UTC)<br />
<br />
== CTGP-R 1.02 Source Code ==<br />
<br />
I just downloaded your newly released source code for MKWii, and followed the instructions to do it, but it keeps saying "'make' is not recognized as an internal or external command, operatable program, or batch file."<br />
What do I do? I am using Windows 8's terminal to do it.<br />
[[User:Miles5x5]] ([[User talk:Miles5x5|talk]]) 2:23, 20 April 2014 (EST)<br />
: You need to install devkitpro as mentioned at the start of the building file.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 21 April 2014 (UTC)<br />
<br />
== SZS Explorer ==<br />
<br />
When I try to open SZS Explorer by double clicking, it never show up. Please fix this as fast as you can.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 06:23, 4 August 2014 (UTC)<br />
: It works for me, so I consider the problem fixed.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:47, 4 August 2014 (UTC)<br />
: But as a programmer, you should think of your program's compatibility on other computer. More information: my computer is running Windows 8.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 07:50, 4 August 2014 (UTC)<br />
:: I have confirmed the SZS Explorer works on a Windows 8. CTools is no longer in active development so you will have to solve this yourself.<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:49, 4 August 2014 (UTC)<br />
<br />
::Is that true? Then my computer must be faulty. Anyway, thanks.--[[User:CustomArio|CustomArio]] ([[User talk:CustomArio|talk]]) 04:04, 6 August 2014 (UTC)<br />
<br />
== CTGP Revolution Source Code ==<br />
<br />
I installed Devkit. But subsequent work does not know.<br><br />
Chadderz please tell me<br><br />
--[[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 00:52, 7 August 2014 (UTC)<br />
: I don't know what you mean, but there is a BUILDING file which explains how to build the source.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:23, 7 August 2014 (UTC)<br />
::I read BUILDING. But Partial "To build the project, open a terminal in this directory and use the following" and do not know.<br />
:: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 07:54, 8 August 2014 (UTC)<br />
::: I'm sorry but I really don't have time to be helping everyone through the process. The source code is only intended for programmers who understand Makefiles and assembly code. The information you need is all in the BUILDING document, you'll have to look for further help elsewhere.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:03, 8 August 2014 (UTC)<br />
::::I understand. Thank you for letting me know.<br />
:::: [[User:Ac mkw|Ac mkw]] ([[User talk:Ac mkw|talk]]) 08:10, 8 August 2014 (UTC)<br />
<br />
== MK8 Stuff ==<br />
<br />
Hello Chadderz, how did you get all the files out of the MK8 disc? Is there a way to dump a WiiU Disc and extract it or did you get all the files described in the MK8 Wiki via your exploit? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 21:40, 7 August 2014 (UTC)<br />
: Hey Leseratte, no there is no '''public''' way to extract disks. We can do it with the exploit I made, and other teams have shown they're able to do it because they know the Wii U common key, but nothing has been released that allows dumping disks. With publically available tools it is possible to dump the browser's files which do included some file formats of note (SARC, BFSAR, BFSTM), but no one has released an easy way to do this either (though I think people are working on it).<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:56, 8 August 2014 (UTC)<br />
<br />
== CTGPR-Source question ==<br />
<br />
Hi Chadderz, <br />
<br />
I have two short questions about the CTGP-R-Sources: <br />
<br />
When you vote for a track (online), the track selecting menu always selects the track that was driven on in the next track choosing. I think this is not good, because if you vote for a track, and a track vote of another player was selected, you will more likely chosse your own track again instead of the one that was currently driven. <br />
<br />
Is there a way to change this behaviour while building the source? Or are you able to find out how to change this behaviour back to original?<br />
<br />
Thn one does not have to scroll through all the cups before each race to find the track one wants to select. <br />
<br />
Second question: <br />
When you use the "Random"-Feature in a Friend room, you can't pick a track for the rest of the GP - the game will now always force random until the GP has ended. Any way to change this?<br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:38, 9 August 2014 (UTC)<br />
:Hi Leseratte,<br />
:These are both known bugs with CTGP-R, I believe the first has been fixed as of 1.03 but I haven't ported the fix back to 1.02. I can't remember if we did fix the friend room bug. I have a lot of jobs to do at the moment, so I can't promise when I'll be able to port the fix back to the 1.02 source. You can try fixing it yourself, though I know the code is a little complicated.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:42, 9 August 2014 (UTC)<br />
<br />
:: Thanks for your quick reply, <br />
:: as I do not understand any assembler stuff, I doubt that I'll be able to fix that on my own. (I won't even know which file I have to look at ...)<br />
:: But good to know that the first bug is fixed in 1.03, maybe you find time to port it somewhen in the future. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:53, 9 August 2014 (UTC)<br />
<br />
:: I've now tried fixing it, but even when using unmodified sources (only downloading the pack and executing "make rmcp") my Wii freezes when pressing "+" in the offline VS track menu. Is this "normal" and do I have to test online? Or should the random track choosing work offline, too? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:59, 9 August 2014 (UTC)<br />
::: No; it should be possible to use the randomiser in offline mode, I'm not sure what you've done wrong to be getting that error. Perhaps I never tested the randomiser functionality and it is broken in the source, but I'm fairly sure the first published version of the source was byte for byte identical to CTGP-R v1.02 which worked. When I get chance I'll look into it.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:34, 9 August 2014 (UTC)<br />
<br />
:::: I've now tested the first version of the code I found at github and the freeze still occurs. It also occurs when pressing "+" in WiFi instead of the Button "Random". It'd be great if you could at least take a short look if this also happens for you or if there must be an problem with my build system. <br />
:::: If it's important, I'm using the PAL version of the game. <br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 05:50, 10 August 2014 (UTC)<br />
::::: I've just had a quick look over the code and noticed a bug specifically to do with the install address for the button activator of the randomiser. I don't ''think'' it would cause your problem but it ''could'' do. In any case, I've just committed a fix so you should try using that.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:47, 10 August 2014 (UTC)<br />
:::::: Thanks for the Bugfix, selecting random works now. -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 08:03, 10 August 2014 (UTC)<br />
<br />
== About region pool ==<br />
<br />
Hi Chadderz<br />
<br />
You are managing a network of CTGP Revolution v1.03 you?<br />
Please tell me if you're managing you.<br />
<br />
Region pool of CTGP Revolution v1.03 do you a patch to which file?<br />
And how do you patch? <br />
[[User:Ac_mkw|AC_mkw]] ([[User talk:Ac_mkw|talk]]) 08:59, 9 August 2014 (UTC)<br />
: The region pool of CTGP-R v1.03 is automatically managed by our server, and cannot be changed by the user.<br />
: The region of packs built from the CTGP-R v1.02 source code can be controlled by one of the build options.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:01, 9 August 2014 (UTC)<br />
<br />
:: How you create the server?<br />
:: [[User:Ac_mkw|AC]] ([[User talk:Ac_mkw|talk]]) 11:04, 9 September 2014 (UTC)<br />
<br />
::: The server is programmed in C# and Java.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== CTGP Revolution Text files&menupatch ==<br />
<br />
hi Chadderz<br><br />
Please me menupatch files and text files of all of CTGP Revolution v1.03 <br><br />
I want it is not a v1.02.<br />
<br />
[[User:Ac_mkw]] ([[User talk:Ac_mkw|talk]]) 23:23, 11 August 2014 (UTC)<br />
:The same files control the menus in v1.03 as in v1.02, and they can be altered with My Stuff. You should take one from v1.02 and update it to work with the extra cups.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:12, 12 August 2014 (UTC)<br />
<br />
== Updates on Incendia Castle ==<br />
<br />
No updates on [[Incendia Castle]] and/or [[Six King Labyrinth]]? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 03:36, 21 August 2014 (UTC)<br />
: Are you refering to MK8? If so, patience is a virtue, news will come when we have some.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 06:02, 21 August 2014 (UTC)<br />
<br />
::Mario Kart Wii version.<br />
::[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 10:58, 21 August 2014 (UTC)<br />
<br />
::: I don't believe there are any plans for updates, you'd have to ask Bean really though.<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 05:39, 25 August 2014 (UTC)<br />
<br />
== MK8 Charcter texturing hack ==<br />
<br />
So, I took a look at the MK8 Wiki. Saw there isn't any.charcter.hacks there..yet. Are.you able.to descompress the charcters yet? Well, if.you will test.it, could I do a test texture? I mean, you deacompress the files, and I do the texture work. Thanks :P<br />
<br />
~~anEoTselkie<br />
: Yes, in theory we can do character texture hacks, we're focusing on creating a custom track right now. We can't send you the game's original texture files, as they belong to Nintendo.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 01:34, 26 August 2014 (UTC)<br />
::I understand. Makes sense since MK8 is a "young game", and you could get.in troible with.Nintendo if you share the files.... ~~anEoTselkie<br />
<br />
== CTGP Revolution Font ==<br />
<br />
Please tell us the name of the font for me CTGP Revolution<br />
{{sig|Ac_mkw}}<br />
: Gentium Basic. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 11:47, 1 September 2014 (UTC)<br />
::Tell me the name of the font for this image.<br><br />
::Tell me where to download it if "Gentium Basic" is the font name of the image if. <br><br />
::http://puu.sh/bgMW3/951f1c655b.jpeg<br><br />
::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:00, 1 September 2014 (UTC)<br />
::: Gentium Basic. It's not hard to find, I don't know where we got it. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 12:04, 1 September 2014 (UTC)<br />
::::I was searching on Google. I do not know because there are many.<br />
::::https://www.google.co.jp/search?q=Gentium+Basic&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a<br><br />
::::Talking about change, but I want to take a Skype contact with you [[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 12:09, 1 September 2014 (UTC)<br />
::::: I think all of the links on Google are probably correct, it is a well known font.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
::::::I've found the name of the font. So tell me about, such as the color of the font.<br />
::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:02, 13 September 2014 (UTC)<br />
::::::: I don't know what colour the font is, nor the exact parameters. It was drawn on Micrsoft Expression Design using a gradient fill, outline and shadow.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:06, 13 September 2014 (UTC)<br />
::::::::Thank you for letting me know.<br><br />
::::::::Why you do not authenticate the Skype contact me?<br />
::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 08:18, 13 September 2014 (UTC)<br />
::::::::: I already have hundreds of Skype contacts and I'm trying to avoid having too many. You can already contact me on here of course.<br />
::::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:02, 13 September 2014 (UTC)<br />
::::::::::I would seen by other people in the talk page. I use Skype to avoid it. So to authenticate contact me.<br />
::::::::::[[User:Ac mkw|AC]] ([[User talk:Ac mkw|talk]]) 10:23, 13 September 2014 (UTC)<br />
<br />
== About Greek language ==<br />
: Hi Chadderz! I just wanted to nitifite you that I made some changes to the Greek language of the CTGP-R Channel with the most notable being the grammatical change to the "Mario Kart" phrase as I wrote it in English just like other languages (except Japanese and Korean) because... probably because it was written in English in the Greek instruction manual too. And because it was written in English in the Russian language too. and because Greece is in Europe. OK I don't have any more "becuase" for that thing. See for yourself too because Bean has to update the Greek language sometime in the future. (And why I made those minor changes after the Greek language was released... Godammit.) [[User:Sarantis|Sarantis]] ([[User talk:Sarantis|talk]]) 15:04, 11 September 2014 (UTC)<br />
:: Hi Sarantis, thanks for letting me know. We have a big problem with updating language files actually. I admit that in retrospect it was a badly designed system, but basically it requires a massive, manadtory update to update them. This is the main reason we've been slow on introducing new langauges. I'll let Bean (who is in charge of updates) know and if we get enough langauge updates together he'll do them all together (and hopefully we can make it easier to update in future).<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 07:26, 13 September 2014 (UTC)<br />
<br />
== Countdownmode + normal mode on the same time ==<br />
<br />
I talked with AC and he said that the countdown + normal mode work on the same time.<br />
I think that's wrong, because when you load the riivolution pack the gct change the normal race modes to countdown and not only battle like in ctgp-r<br />
So you only can choose one of the them for a custom track distirbution, except a riivolution switcher<br />
--[[User:Horsti12|Horsti12™ THE Clouddealer]] ([[User talk:Horsti12|talk]]) 15:31, 14 September 2014 (UTC)<br />
: Oh, I didn't know the riivo pack altered normal races, Bean made countdown so I don't know all the details. I think a Riivo switcher would be the best option then. Bean said at some point he would release the version of countdown he put in ctgpr v1.03 as a standalone riivo pack, so when he does that it should have the battle mode.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 15:34, 14 September 2014 (UTC)<br />
<br />
== CT-Code MOD System ==<br />
<br />
You said that I can simple include cheats in the CTGP_CODE when I port gct to mod<br />
"The MOD system allows the addition of 'cheat like' codes. If you look in the bad1/bad1data/mod folder you'll see lots of .mod files. Each of these contains a series of patches to be applied to the DOL or the REL, so you can port the GCT into that format."<br />
<br />
Can you explain this a little bit more please?<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: The MOD system let's you change the memory of the game when CT-Code boots. A simple example is https://github.com/Chadderz121/wii-ct-code/blob/master/bad1/bad1Data/mod/unban.mod, which was the unban code. This file describes a simple change to the memory in which the address mod_unban_addr (see https://github.com/Chadderz121/wii-ct-code/blob/master/rmcp.ld) is altered to be the instruction "li r5,3". This is exactly the same as the common 041D0E50 38A00003 GCT unban code because 38A00003 means "li r5,3" (see http://www.onlinedisassembler.com/odaweb/R6Kz3q/0) and mod_unban_addr is 801D0E50 in PAL, and 04XXXXXX YYYYYYYY in GCT means write YYYYYYYY to address 80XXXXXX. This is an example of how simple 04 GCT codes can be ported. C2XXXXXX YYYYYYYY codes are also easily ported as these effectively write multilple values instead of just one. More complex GCT codes require translating into ASM. It's certainly not terribly easy to port GCT codes, but then it wasn't designed to be; the more different our system, the harder it would be for would-be hackers to attack CTWW in v1.02.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
:: Would it be possible to put the source code of the "Lap count modifier" inside such a mod file to use the Lap Count modifier in an ISO without cheat code?<br />
:: I've tried disassembling it with the page you wrote, but I got lots of errors while compiling. <br />
:: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:14, 22 September 2014 (UTC)<br />
::: Yes, that absolutely would be possible, in fact that is how it is implemented. Unfortunately it's implemented in the v1.03 version, which is different from v1.02, hence the need to back-port the features we've added (see [[#CT-Code v1.03 Features]]).<br />
::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 16:59, 22 September 2014 (UTC)<br />
<br />
:::: Let's say I wanna port this code: 048A5380 00000003. I added a new line "PROVIDE(test = 0x808a5380);" inside the rmcp.ld, created a new mod file: MOD_DOL(mod_test, test, .long 0x2000000; ), and added it to the bad1mod-makefile. <br />
:::: With my code, I get this error: powerpc-eabi-ld:build/rmcp/m0d.text.elf.ld:103: syntax error<br />
:::: [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 28 September 2014 (UTC)<br />
:::: EDIT: I now was able to compile the CTCODE but when I run the game, the cheat code does not work...<br />
:::: What am I doing wrong? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 17:16, 28 September 2014 (UTC)<br />
::::: First of all, I noticed you've put ".long 0x2000000" which would write 0x20000000 rather than 0x00000003 like the GCT code you posted does. You'd want ".int 0x00000003" to write that instead.<br />
::::: Secondly, there is a slight difference I forgot to mention between the GCT code and the MOD code in that the 04 will set the value every frame, whereas the MOD_DOL sets it only once. I'd guess in this case the value would need to be set every frame. Therefore, you would need to instead alter the code which sets the value. <br />
::::: Finally, I think that address is probably in the StaticR.rel not main.dol, so you need to use MOD_REL not MOD_DOL.<br />
::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:46, 29 September 2014 (UTC)<br />
<br />
:::::: I only had a "2" instead of an "3" because I mixed up the two values. The disassembler wrote "20000000" instead of "00000002", but even with this value and "MOD_REL" it does not work. You are talking about "setting this value every frame". I tried putting this code inside a loop (is it this what you mean?) but it did not work either: "0: .int 0x00000002; b 0b;". <br />
:::::: Or did you mean something else by "alter the code which sets the value"? Is there any way to check with Dolphin if the value is overwritten by the game? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 14:53, 29 September 2014 (UTC)<br />
::::::: The disassembler you're using must be in Little Endian mode not Big Endian like the Wii, explaining why it put 02000000 not 00000002.<br />
::::::: The loop you have written would not work because you are combining code and data. ".int 0x00000002" is not an instruction, it is literally the 4 bytes 00 00 00 02. "b 0b" is an instruction. Most of the time the MOD system is used to insert instructions into the games existing code, rather than set values, as values change over time but instructions do not. Normally you would find the instruction which sets a value and change that rather than change the value.<br />
::::::: You can check which instruction sets a value in Dolphin using a breakpoint. I believe you run Dolphin with /D on the command line to enable debugging features such as breakpoints. You would then need to set a write breakpoint on the address you mentioned to see which line(s) of code alter it. You could then change how they modify it, for example by changing the instruction to "nop" which does nothing. Alternatively you can breakpoint to see how the value is loaded and replace those instructions with "li rXX,2" which would instead always load the value 2 into rXX.<br />
::::::: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:50, 30 September 2014 (UTC)<br />
<br />
One last question about the "C2" code type: <br />
You said it is also easy portable since it only writes multiple bytes. <br />
Can you please give me an example on how to port C2 codes? Simply inserting the values in the StaticR.rel at the correct offset won't work, I assume, because there are only 4 byte space. <br />
Probably, there has to be a code like "jump to some unused location", and I'd have to find an unused part in the StaticR.rel to copy the code to. <br />
<br />
Can you show me how to handle a C2 code with the CTCODE mod system? -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 16:56, 8 November 2014 (UTC)<br />
EDIT: I think I just found out my mistake. I'll try again and answer again if it does not work. <br />
<br />
== CT-Code v1.03 Features ==<br />
You also said that you will port in the future the CTGP_CODE v1.03 to v1.02 when you finish your exams, is that in progress or is it cancaled, just tell me if you work on it atm or not<br />
--[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 14:10, 21 September 2014 (UTC)<br />
: It's not currently in progress, but I do intend to do it. I admit it's not top of my prorities list right now, with MK8 hacking and my PhD to think about. I wouldn't want to promise it by any particular date, but I will do it at some point.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 17:14, 21 September 2014 (UTC)<br />
<br />
== Network Protocol details ==<br />
<br />
Hello Chadderz, <br />
<br />
I have two little questions about some details in the MKWii network protocol - would be great if you'd be able to answer them. This would be great for improving Wiimms ''mkw-ana''. <br />
<br />
First question: Yesterday during our MKWii tournament we had a crazy situation: After each race, the Wiis send their driven time to all other Wiis to determine the rankings. <br />
Yesterday, we had two groups of two players (Player 1 & 4 and Player 6 & 7) who transmitted exactly the same time (we did not have seen this rare event in the last two years...). <br />
<br />
This looked like this in Wiimms tool ''mkw-ana'': <br />
<br />
<pre>> RESULT.RACE GRPR.3.2, race=10, id=12, 150 ccm<br />
#-----------------------------------------------<br />
# racing delta points <br />
# # pos mii name time in msec tool wii <br />
#------------------------------------------------<br />
1. 0 Player 1 2:22.205 - +15 +10<br />
1. 3 Player 4 2:22.205 0 +15 +15<br />
3. 5 Player 6 2:22.552 347 +7 +5<br />
3. 6 Player 7 2:22.552 0 +7 +7<br />
5. 1 Player 2 2:23.746 1194 +3 +3<br />
6. 2 Player 3 2:24.086 340 +1 +1<br />
7. 4 Player 5 2:25.559 1473 +0 +0<br />
>------------------------------------------------</pre><br />
<br />
The column "tool" are the points given by the tool, the column "wii" are the points given by the wii (extracted from a picture of the result screen)<br />
mkw-ana assigned both players the better point count - 15P and 7P. <br />
The game gave us the following points (same order as above): 10; 15; 5; 7; 3; 1; 0<br />
<br />
I had the guess that the game might prefer the one who has the greatest slot ID - but unfortunately, in this race the "room slots" and the "race slots" were the same, so we could not figure out what exactly is used by the game to define who gets more points. <br />
<br />
Are you able to find out which player(s) are preferred by the game if multiple players have the exact same racing time? <br />
<br />
Second question: <br />
<br />
To detect players who use a VR cheat, it would be great if the server was able to calculate, how much VR a player got for winning/loosing a race. <br />
I found a formula in the mariokartwii.com-forum, but I tested it and the formula is wrong. <br />
<br />
Do you have a way to find out how the Wii calculates VR points?<br />
<br />
It would be great if you could answer these two questions, please. <br />
<br />
-- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 19:36, 24 October 2014 (UTC)<br />
<br />
: Hi, I'm now working, so I don't have so much time to look at this sort of thing. If I get chance I'll have a look, or you can try asking Bean if he can find it with the USB Gecko.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 09:33, 25 October 2014 (UTC)<br />
<br />
== Can you help me with something. ==<br />
<br />
I'm making a distribution called [[CTGP 2.8 (Remastered)]] and a few features I'm including... well I don't know how to code like Countdown Mode and Random Track Selection and when I enable Draggable BlueShells in Wii-CT-Code Master it enables the extra course slots for no reason.So if you can a help me with this then the distribution can be completed. [[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 11:30 31 January 2015 (UTC)<br />
<br />
:The Countdown Mode isn't possible, because the wii-ct-code master use the v1.02 CTGP_CODE which didn't have the max lap count modifier & Speed Modifier and the countdown mode included for the other things you should use [[Wiimms SZS Tools]] --[[User:Horsti12|Horsti12]] ([[User talk:Horsti12|talk]]) 19:39, 31 January 2015 (UTC)<br />
<br />
:Then what's the what am I supposed to type?<br />
:[[User:4tbMyles8110mkwii|4tbMyles8110mkwii]] 9:39 1 February 2015 (UTC)<br />
<br />
==SZS Modifier Error==<br />
I attempted to load the SZS Modifier on my new computer and have come across an issue. <br />
For the SZS Modifier, I receive the following message: Unable to locate application file 'SZSModifierSetup.msi'.<br />
<br />
See the setup log file located at 'C:\Users\HP_ADM~1\AppData\Local\Temp\VSDF8B0.tmp\install.log' for more information.<br />
<br />
The new computer runs Windows 10. My previous computer ran Windows XP and it worked fine.<br />
Any suggestions? Thank you.--[[User:Littlelum|Littlelum]] ([[User talk:Littlelum|talk]]) 02:50, 1 September 2016 (UTC)<br />
<br />
:I can launch the SZS Modifier just fine, and I have Windows 10. Did you try uninstalling and reinstalling...? Did you try any other methods to resolve your issue...? --[[User:MichaelMichael54321|Michael]] ([[User talk:MichaelMichael54321|talk]]) 05:16, 1 September 2016 (UTC)<br />
<br />
== Making code patches for Mario Kart Wii ==<br />
<br />
I want to make patches for mkwii and I don't have a usb gecko. I have devkitpro. Where should I start? Do I need to code in C in devkitpro or make asm directly? [[User:ISYan|iSYan]] ([[User talk:ISYan|talk]]) 22:13, 4 October 2017 (UTC)<br />
: Buy an USB Gecko. It is nearly impossible to make game patches without one. Then, look at other patches (for example, C2 codes), and use the Gecko and try to understand what they do. Then write your own (a C2 code is basically just ASM) -- [[User:Leseratte|Leseratte]] ([[User talk:Leseratte|talk]]) 03:46, 5 October 2017 (UTC)<br />
:: I'd agree with Leseratte that a USB Gecko is useful. They're no longer in production so they may be hard to find. I believe [http://retro-system.com/shuriken_usb.htm Shuriken USB] is an identical device which recently got released, so may be easier to purchase, I've not tried one myself. If you can't get either then you'll be stuck using Dolphin, if you start it with the "/D" command line option you'll get access to some debugging features which may be enough to develop codes.<br />
:: I'd suggest you read the articles on [[Assembly Code]] and [[Cheat Code|GCT Cheat Code]]s if you haven't already and the [[Compiler]] article may help understand the game's code. The game code is all ASM, codes you develop will generally either be trivial GCT Cheat Codes or ASM for anything complicated. The ASM is then packaged up into C2 GCT codes as Leseratte mentioned.<br />
:: Writing mods in C is possible, but is rarely worth the effort. I've made a tool to make writing C game mods slightly easier which may be useful to you called [https://github.com/Chadderz121/brainslug-wii Brainslug].<br />
:: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 08:12, 5 October 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Assembly_Code&diff=119607Assembly Code2017-09-17T21:59:01Z<p>Chadderz: Remove links to Broadway Manual.</p>
<hr />
<div>'''Assembly code''' (abbreviated to '''ASM''') is a type of programming language which is directly translatable to machine code. [[#Machine code|Machine code]] is typically directly understood/interpreted by a physical circuit called a processor. In the context of the [[Wii]] references to ASM typically refer specifically to '''[[#PowerPC assembly code|PowerPC assembly code]]''' as PowerPC machine code is used by the Wii's Broadway processor and is the format of [[Mario Kart Wii]]'s code on the game disk.<br />
<br />
The machine code for Mario Kart Wii is stored in the files [[main.dol]] and [[StaticR.rel]]. The game was programmed in the programming languages C and C++ and then a [[compiler]] (Metrowerks CodeWarrior) translated this code into machine code. Reversing the process of compilation is very difficult so game mods are typically added by writing in ASM or [[Cheat Code|GCT code]].<br />
<br />
== Machine Code ==<br />
<br />
'''Machine code''' refers to the binary code which is run by computer processors. It is generally very hard for humans to read and understand. Assembly code is a human readable translation of machine code. There is typically a one to one correspondence between assembly code and machine code. That is to say, one line of assembly code corresponds to one instruction of machine code. Thus, the two terms (machine code and assembly code) are commonly used interchangeably. When working with machine code, most people prefer to translate it to assembly code, edit the assembly code, then translate that back to machine code. Programs that translate assembly code to machine code are called '''assemblers''' and programs that translate machine code to assembly code are called '''disassemblers'''.<br />
<br />
== Dialects ==<br />
<br />
In comparison to higher level programming languages (C, C++, C#, Java, Python, JavaScript, etc) the choice of which dialect of machine/assembly code dialect to use is forced by which processor will run the code. Each processor will generally only be capable of running one dialect of machine code, and will simply be unable to use code written for other processors. This is one of the main disadvantages of assembly code, and why such higher level languages were invented.<br />
<br />
=== ARM Assembly Code ===<br />
<br />
ARM assembly code is the format of assembly code used by the Wii's Starlet processor. This processor only runs the Wii's IOS operating system, and so consequently no game code is ARM assembly code.<br />
<br />
=== PowerPC Assembly Code ===<br />
<br />
PowerPC (PPC) assembly code is the format of assembly code used by the Wii's Broadway processor. It supports most common PowerPC instructions, but also some special unique ones specific to the Wii. This processor runs Wii games and therefore all of the assembly code in [[Mario Kart Wii]] is PowerPC Assembly Code. Each line (instruction) of PowerPC assembly code is written as a mnemonic followed by a number of arguments. For example:<br />
<br />
lis r3, 0x8000<br />
lwz r4, 0(r3)<br />
stw r4, 0x3180(r3)<br />
blr<br />
<br />
The above example contains four instructions, one per line. The first instruction has the mnemonic <code>lis</code> and takes two arguments (<code>r3</code> and <code>0x8000</code>). The second and third instruction have mnemonics <code>lwz</code> and <code>stw</code> and both take three arguments (<code>r4</code>, <code>0</code>, <code>r3</code> and <code>r4</code>, <code>0x3180</code>, <code>r3</code> respectively). The final instruction has mnemonic <code>blr</code> and takes no arguments. The number, order and format of the arguments to an instruction depend on the mnemonic. That is to say, every <code>lis</code> instruction will take two arguments, the first of which is a register and the second of which is a 16 bit integer, with a comma between them. A register is a small piece of memory (32 bits in PowerPC). There are 32 general purpose registers in PowerPC labelled <code>r0</code>, <code>r1</code>, ..., <code>r31</code>. These are mostly identical but <code>r0</code> is slightly special. However, by convention the [[compiler#ABI|ABI]] gives specific jobs to each register so mixing assembly code from different sources is more likely to work.<br />
<br />
When translated to machine code, a PowerPC processor would be able execute these instructions. The effect of each depends on the mnemonic and the arguments. There are three main types of instruction; arithmetic, memory and branching. After executing each instruction the processor then moves on to the next instruction sequentially, except in the case of branches. Arithmetic instructions like the <code>lis</code> in the above example perform some simple mathematical computation between their arguments and then store the result in a register. Typically the first argument is the destination register; where to put the result, and the remaining arguments are the inputs to whatever calculation is being performed. Thus, in the example, the first instruction means "perform an <code>lis</code> on <code>0x8000</code> and store the result in <code>r3</code>. <code>lis</code> is short for "'''l'''oad '''i'''mmediate '''s'''hifted" and the effect of this is to multiply the input by <code>0x10000</code> corresponding to a left bit shift of 16. Thus, the result of this instruction will be <code>0x80000000</code> and so after the instruction that will be the value in <code>r3</code>.<br />
<br />
Memory instructions move data into (loads) or out of (stores) the processor. In the above example, <code>lwz</code> is a load and <code>stw</code> is a store. When moving data, the processor must always know where to move it from or to. This is called the address. On PowerPC each address is a 32 bit number. Which addresses correspond to what data is a property of the whole system, not just the processor. On the Wii for example, addresses <code>0x80000000</code> to <code>0x817fffff</code> correspond to MEM1; a 24 MiB RAM chip. Each number in that range corresponds to exactly one byte of MEM1. An instruction may affect multiple bytes of this chip at once, for example the <code>lwz</code> and <code>stw</code> instructions affect 4 consecutive bytes of MEM1. In the example, the <code>lwz</code> instruction retrieves 4 bytes of data from MEM1. The behaviour of the <code>lwz</code> ('''l'''oad '''w'''ord and '''z'''ero) is to add <code>0</code> to the value in <code>r3</code> (which is 0x80000000 due to the <code>lis</code> instruction) and then send that address to MEM1. MEM1 will reply by sending 4 bytes back starting at it's first byte (at <code>0x80000000</code>) and ending at it's fourth byte (at <code>0x80000003</code>). This 4 byte (32 bit) reply will then be stored in <code>r4</code>. The next instruction in the example is <code>stw</code> ('''st'''ore '''w'''ord). It computes an address similar to the <code>lwz</code> by adding <code>0x3180</code> to the value in <code>r3</code> (which is still <code>0x80000000</code>) to produce the address <code>0x80003180</code>. It will then send this to MEM1 along with the value in <code>r4</code> (which came from the <code>lwz</code>). MEM1 will then replace the 4 bytes starting at <code>0x80003180</code> with the value from <code>r4</code>. Thus, if a later load instruction accessed the same bytes, it would find the updated values. No other actual affect occurs on the processor itself in this case, so neither <code>r3</code> nor <code>r4</code> are changed by the <code>stw</code> instruction.<br />
<br />
Branching instructions affect the flow of machine code instructions on the processor. Instructions are stored in some memory outside the processor (MEM1 in the case of the Wii). Normally, the processor will retrieve each machine code instruction, execute it, then move on to the next instruction. Each machine code instruction is exactly 4 bytes long in PowerPC, so this corresponds to stepping through memory by adding 4 to the address. A branching instruction changes this by telling the processor where to look for the next instruction explicitly. This replaces the implicit next instruction address obtained by adding 4 to the current instruction address. <code>blr</code> ('''b'''ranch to '''l'''ink '''r'''egister) causes the processor to instead use the current value of the <code>lr</code> as the address for the next instruction. The <code>lr</code> is just a 32 bit special purpose register which a small number of arithmetic and branching instructions can modify. Thus, we would need to know the value of the <code>lr</code> to know what instruction would execute next in the example. The redirection is 'permanent' so after executing the instruction at the address given by the <code>lr</code> it would then add 4 to get the next address and so on, unless it encountered another branch.<br />
<br />
A listing of most instructions supported by the Wii's processor can be found in Chapter 8 of the [//www.nxp.com/files/product/doc/MPCFPE32B.pdf Programming Environments Manual for 32-Bit Implementations of the PowerPC Architecture], along with an explanation of the behaviour of each. Chapter 2 is also particularly useful for assembly code programmers as it explains the basic operation of PowerPC processors from a programmer's perspective.<br />
<br />
== Tools ==<br />
<br />
* GNU Binutils include an assembler and disassembler. Specifically, in [[devkitPro]] is an assembler and disassembler for PowerPC and ARM.<br />
* ASMWiiRd is a Windows GUI application for converting between PowerPC assembly code and [[Cheat Code|GCT]] codes with assembly code embedded inside.<br />
* The [[Dolphin]] emulator when started with the "/D" command line option can display, pause and edit the assembly code of the emulated game.<br />
<br />
To use devkitPro's Binutils to assemble <code>input.asm</code> (text document with assembly code) to <code>output.bin</code> (a file containing the raw machine code) the commands would be:<br />
powerpc-eabi-objdump -mregnames -m750cl input.asm -o temp.elf<br />
powerpc-eabi-objcopy -O binary temp.elf output.bin<br />
Note that there is no easy way to set the loaded address of the instructions so only relative branching instructions should be used (i.e. don't expect <code>b 0x80000000</code> to assemble correctly).<br />
<br />
To use devkitPro's Binutils to disassemble <code>input.bin</code> (a file containing raw machine code) the command would be:<br />
powerpc-eabi-objdump -b binary -m powerpc:750 -M 750cl -D -EB --adjust-vma=0x80000000 test.bin <br />
Note that some instruction's arguments depend on their address, so you can change the value of <code>adjust-vma</code> to be the loaded address of the first instruction.<br />
<br />
== See Also ==<br />
<br />
* [//www.nxp.com/files/product/doc/MPCFPE32B.pdf Programming Environments Manual for 32-Bit Implementations of the PowerPC Architecture] - a generic PowerPC processor manual.<br />
* [//en.wikipedia.org/wiki/Assembly_language Wikipedia's article] on Assembly Code.<br />
* [//en.wikipedia.org/wiki/PowerPC Wikipedia's article] on PowerPC.</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:Assembly_Code&diff=119606Talk:Assembly Code2017-09-17T21:57:11Z<p>Chadderz: /* Content Restrictions Violation */ reply</p>
<hr />
<div>== Content Restrictions Violation ==<br />
I do not believe that posting a link to the IBM Broadway RISC Microprocessor User Manual is allowed, as it violates the Content Restrictions rule 2.<br />
[[User:Riidefi|Riidefi]] ([[User talk:Riidefi|talk]]) 17:48, 17 September 2017 (UTC)<br />
: Perhaps so, yes. The rule is worded a little poorly (almost everything is 'copyrighted') but clearly the implication is material that's copyrighted and the leaked/shared illegally. I must admit I've no idea as to the origin of the manual, if it was never legally shared then it would need to be removed, yes.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:41, 17 September 2017 (UTC)<br />
:: My best guess is that it was from the Wii NDK, however I don't think that the exact origin is that important. It's clearly labeled, "Not to be redistributed", "Confidential", "Preliminary", "BM Confidential—Available Under NDA Only."<br />
:: [[User:Riidefi|Riidefi]] ([[User talk:Riidefi|talk]]) 20:41, 17 September 2017 (UTC)<br />
::: So it is. [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 21:57, 17 September 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Talk:Assembly_Code&diff=119604Talk:Assembly Code2017-09-17T19:41:30Z<p>Chadderz: /* Content Restrictions Violation */ reply</p>
<hr />
<div>== Content Restrictions Violation ==<br />
I do not believe that posting a link to the IBM Broadway RISC Microprocessor User Manual is allowed, as it violates the Content Restrictions rule 2.<br />
[[User:Riidefi|Riidefi]] ([[User talk:Riidefi|talk]]) 17:48, 17 September 2017 (UTC)<br />
: Perhaps so, yes. The rule is worded a little poorly (almost everything is 'copyrighted') but clearly the implication is material that's copyrighted and the leaked/shared illegally. I must admit I've no idea as to the origin of the manual, if it was never legally shared then it would need to be removed, yes.<br />
: [[User:Chadderz|Chadderz]] ([[User talk:Chadderz|talk]]) 19:41, 17 September 2017 (UTC)</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=Assembly_Code&diff=119593Assembly Code2017-09-17T12:18:17Z<p>Chadderz: Added a primer on PPC ASM which I hope will help people wanting to get into ASM modding on Wii.</p>
<hr />
<div>'''Assembly code''' (abbreviated to '''ASM''') is a type of programming language which is directly translatable to machine code. [[#Machine code|Machine code]] is typically directly understood/interpreted by a physical circuit called a processor. In the context of the [[Wii]] references to ASM typically refer specifically to '''[[#PowerPC assembly code|PowerPC assembly code]]''' as PowerPC machine code is used by the Wii's Broadway processor and is the format of [[Mario Kart Wii]]'s code on the game disk.<br />
<br />
The machine code for Mario Kart Wii is stored in the files [[main.dol]] and [[StaticR.rel]]. The game was programmed in the programming languages C and C++ and then a [[compiler]] (Metrowerks CodeWarrior) translated this code into machine code. Reversing the process of compilation is very difficult so game mods are typically added by writing in ASM or [[Cheat Code|GCT code]].<br />
<br />
== Machine Code ==<br />
<br />
'''Machine code''' refers to the binary code which is run by computer processors. It is generally very hard for humans to read and understand. Assembly code is a human readable translation of machine code. There is typically a one to one correspondence between assembly code and machine code. That is to say, one line of assembly code corresponds to one instruction of machine code. Thus, the two terms (machine code and assembly code) are commonly used interchangeably. When working with machine code, most people prefer to translate it to assembly code, edit the assembly code, then translate that back to machine code. Programs that translate assembly code to machine code are called '''assemblers''' and programs that translate machine code to assembly code are called '''disassemblers'''.<br />
<br />
== Dialects ==<br />
<br />
In comparison to higher level programming languages (C, C++, C#, Java, Python, JavaScript, etc) the choice of which dialect of machine/assembly code dialect to use is forced by which processor will run the code. Each processor will generally only be capable of running one dialect of machine code, and will simply be unable to use code written for other processors. This is one of the main disadvantages of assembly code, and why such higher level languages were invented.<br />
<br />
=== ARM Assembly Code ===<br />
<br />
ARM assembly code is the format of assembly code used by the Wii's Starlet processor. This processor only runs the Wii's IOS operating system, and so consequently no game code is ARM assembly code.<br />
<br />
=== PowerPC Assembly Code ===<br />
<br />
PowerPC (PPC) assembly code is the format of assembly code used by the Wii's Broadway processor. It supports most common PowerPC instructions, but also some special unique ones specific to the Wii. This processor runs Wii games and therefore all of the assembly code in [[Mario Kart Wii]] is PowerPC Assembly Code. Each line (instruction) of PowerPC assembly code is written as a mnemonic followed by a number of arguments. For example:<br />
<br />
lis r3, 0x8000<br />
lwz r4, 0(r3)<br />
stw r4, 0x3180(r3)<br />
blr<br />
<br />
The above example contains four instructions, one per line. The first instruction has the mnemonic <code>lis</code> and takes two arguments (<code>r3</code> and <code>0x8000</code>). The second and third instruction have mnemonics <code>lwz</code> and <code>stw</code> and both take three arguments (<code>r4</code>, <code>0</code>, <code>r3</code> and <code>r4</code>, <code>0x3180</code>, <code>r3</code> respectively). The final instruction has mnemonic <code>blr</code> and takes no arguments. The number, order and format of the arguments to an instruction depend on the mnemonic. That is to say, every <code>lis</code> instruction will take two arguments, the first of which is a register and the second of which is a 16 bit integer, with a comma between them. A register is a small piece of memory (32 bits in PowerPC). There are 32 general purpose registers in PowerPC labelled <code>r0</code>, <code>r1</code>, ..., <code>r31</code>. These are mostly identical but <code>r0</code> is slightly special. However, by convention the [[compiler#ABI|ABI]] gives specific jobs to each register so mixing assembly code from different sources is more likely to work.<br />
<br />
When translated to machine code, a PowerPC processor would be able execute these instructions. The effect of each depends on the mnemonic and the arguments. There are three main types of instruction; arithmetic, memory and branching. After executing each instruction the processor then moves on to the next instruction sequentially, except in the case of branches. Arithmetic instructions like the <code>lis</code> in the above example perform some simple mathematical computation between their arguments and then store the result in a register. Typically the first argument is the destination register; where to put the result, and the remaining arguments are the inputs to whatever calculation is being performed. Thus, in the example, the first instruction means "perform an <code>lis</code> on <code>0x8000</code> and store the result in <code>r3</code>. <code>lis</code> is short for "'''l'''oad '''i'''mmediate '''s'''hifted" and the effect of this is to multiply the input by <code>0x10000</code> corresponding to a left bit shift of 16. Thus, the result of this instruction will be <code>0x80000000</code> and so after the instruction that will be the value in <code>r3</code>.<br />
<br />
Memory instructions move data into (loads) or out of (stores) the processor. In the above example, <code>lwz</code> is a load and <code>stw</code> is a store. When moving data, the processor must always know where to move it from or to. This is called the address. On PowerPC each address is a 32 bit number. Which addresses correspond to what data is a property of the whole system, not just the processor. On the Wii for example, addresses <code>0x80000000</code> to <code>0x817fffff</code> correspond to MEM1; a 24 MiB RAM chip. Each number in that range corresponds to exactly one byte of MEM1. An instruction may affect multiple bytes of this chip at once, for example the <code>lwz</code> and <code>stw</code> instructions affect 4 consecutive bytes of MEM1. In the example, the <code>lwz</code> instruction retrieves 4 bytes of data from MEM1. The behaviour of the <code>lwz</code> ('''l'''oad '''w'''ord and '''z'''ero) is to add <code>0</code> to the value in <code>r3</code> (which is 0x80000000 due to the <code>lis</code> instruction) and then send that address to MEM1. MEM1 will reply by sending 4 bytes back starting at it's first byte (at <code>0x80000000</code>) and ending at it's fourth byte (at <code>0x80000003</code>). This 4 byte (32 bit) reply will then be stored in <code>r4</code>. The next instruction in the example is <code>stw</code> ('''st'''ore '''w'''ord). It computes an address similar to the <code>lwz</code> by adding <code>0x3180</code> to the value in <code>r3</code> (which is still <code>0x80000000</code>) to produce the address <code>0x80003180</code>. It will then send this to MEM1 along with the value in <code>r4</code> (which came from the <code>lwz</code>). MEM1 will then replace the 4 bytes starting at <code>0x80003180</code> with the value from <code>r4</code>. Thus, if a later load instruction accessed the same bytes, it would find the updated values. No other actual affect occurs on the processor itself in this case, so neither <code>r3</code> nor <code>r4</code> are changed by the <code>stw</code> instruction.<br />
<br />
Branching instructions affect the flow of machine code instructions on the processor. Instructions are stored in some memory outside the processor (MEM1 in the case of the Wii). Normally, the processor will retrieve each machine code instruction, execute it, then move on to the next instruction. Each machine code instruction is exactly 4 bytes long in PowerPC, so this corresponds to stepping through memory by adding 4 to the address. A branching instruction changes this by telling the processor where to look for the next instruction explicitly. This replaces the implicit next instruction address obtained by adding 4 to the current instruction address. <code>blr</code> ('''b'''ranch to '''l'''ink '''r'''egister) causes the processor to instead use the current value of the <code>lr</code> as the address for the next instruction. The <code>lr</code> is just a 32 bit special purpose register which a small number of arithmetic and branching instructions can modify. Thus, we would need to know the value of the <code>lr</code> to know what instruction would execute next in the example. The redirection is 'permanent' so after executing the instruction at the address given by the <code>lr</code> it would then add 4 to get the next address and so on, unless it encountered another branch.<br />
<br />
A full listing of all instructions supported by the Wii's processor can be found in Chapter 12 of the [//thewiiu.com/index.php?app=core&module=attach&section=attach&attach_id=1576 IBM Broadway RISC Microprocessor User Manual], along with an explanation of the behaviour of each. Chapter 2 is also particularly useful for assembly code programmers as it explains the basic operation of the processor from a programmer's perspective. That manual references [//www.nxp.com/files/product/doc/MPCFPE32B.pdf Programming Environments Manual for 32-Bit Implementations of the PowerPC Architecture] which is a more generic description of PowerPC not specific to the Broadway processor found in the Wii. It also contains an instruction set listing in Chapter 8, which omits the Wii specific instructions. It also has a useful Chapter 2 which explains how PowerPC processors work from a programmer's perspective.<br />
<br />
== Tools ==<br />
<br />
* GNU Binutils include an assembler and disassembler. Specifically, in [[devkitPro]] is an assembler and disassembler for PowerPC and ARM.<br />
* ASMWiiRd is a Windows GUI application for converting between PowerPC assembly code and [[Cheat Code|GCT]] codes with assembly code embedded inside.<br />
* The [[Dolphin]] emulator when started with the "/D" command line option can display, pause and edit the assembly code of the emulated game.<br />
<br />
To use devkitPro's Binutils to assemble <code>input.asm</code> (text document with assembly code) to <code>output.bin</code> (a file containing the raw machine code) the commands would be:<br />
powerpc-eabi-objdump -mregnames -m750cl input.asm -o temp.elf<br />
powerpc-eabi-objcopy -O binary temp.elf output.bin<br />
Note that there is no easy way to set the loaded address of the instructions so only relative branching instructions should be used (i.e. don't expect <code>b 0x80000000</code> to assemble correctly).<br />
<br />
To use devkitPro's Binutils to disassemble <code>input.bin</code> (a file containing raw machine code) the command would be:<br />
powerpc-eabi-objdump -b binary -m powerpc:750 -M 750cl -D -EB --adjust-vma=0x80000000 test.bin <br />
Note that some instruction's arguments depend on their address, so you can change the value of <code>adjust-vma</code> to be the loaded address of the first instruction.<br />
<br />
== See Also ==<br />
<br />
* [//thewiiu.com/index.php?app=core&module=attach&section=attach&attach_id=1576 IBM Broadway RISC Microprocessor User Manual] - the Wii's processor manual.<br />
* [//www.nxp.com/files/product/doc/MPCFPE32B.pdf Programming Environments Manual for 32-Bit Implementations of the PowerPC Architecture] - a generic PowerPC processor manual.<br />
* [//en.wikipedia.org/wiki/Assembly_language Wikipedia's article] on Assembly Code.<br />
* [//en.wikipedia.org/wiki/PowerPC Wikipedia's article] on PowerPC.</div>Chadderzhttps://wiki.tockdom.com/w/index.php?title=REL_(File_Format)&diff=119412REL (File Format)2017-09-06T12:57:14Z<p>Chadderz: New research into this format changes a lot of things.</p>
<hr />
<div>'''REL files''' are relocatable object files used by Nintendo. [[Mario Kart Wii]] features one such file: '''[[Filesystem/rel/StaticR.rel|StaticR.rel]]'''. In general these files allow extra code to be loaded as needed by games, especially when the memory footprint becomes a concern. In Mario Kart, the REL code contains much of the Mario Kart specific logic, such as gameplay, and, once loaded during the health and safety screen, remains loaded for the entire run of the application. Information about specific alteration that can be made to the Mario Kart Wii file can be found '''[[Filesystem/rel/StaticR.rel|here]]'''.<br />
<br />
= File Format =<br />
Like many object formats, the file is divided into sections, grouped by like access. For example, all executable code is placed in one section, read only data in another, etc. The file begins with a header, followed by the section info table, followed by the section data, followed by the relocation information.<br />
<br />
== File Header ==<br />
The file begins with a header of up to 0x4C bytes:<br />
{| class="wikitable"<br />
|+ REL file header<br />
|-<br />
! Offset<br />
! Size<br />
! Field Name<br />
! Description<br />
|-<br />
| 0x00<br />
| 4<br />
| <code>id</code><br />
| Arbitrary identification number. Must be unique amongst all RELs used by a game.<br />
|-<br />
| 0x04<br />
| 8<br />
| {{unknown}}<br />
| Padding.<br />
|-<br />
| 0x0c<br />
| 4<br />
| <code>numSections</code><br />
| Number of sections in the file.<br />
|-<br />
| 0x10<br />
| 4<br />
| <code>sectionInfoOffset</code><br />
| Offset to the start of the [[#Section Info Table|section table]].<br />
|-<br />
| 0x14<br />
| 4<br />
| <code>nameOffset</code><br />
| Offset to ASCII string containing name of module. May be NULL. Unclear what it is relative to.<br />
|-<br />
| 0x18<br />
| 4<br />
| <code>nameSize</code><br />
| Size of the module name in bytes.<br />
|-<br />
| 0x1c<br />
| 4<br />
| <code>version</code><br />
| Version number of the REL file format.<br />
|-<br />
| 0x20<br />
| 4<br />
| <code>bssSize</code><br />
| Size of the '<code>.bss</code>' section.<br />
|-<br />
| 0x24<br />
| 4<br />
| <code>relOffset</code><br />
| Offset to the [[#Relocation Data|relocation table]].<br />
|-<br />
| 0x28<br />
| 4<br />
| <code>impOffset</code><br />
| Offset to [[#imp|imp table]].<br />
|-<br />
| 0x2c<br />
| 4<br />
| <code>impSize</code><br />
| Size of [[#imp|imp table]] in bytes.<br />
|-<br />
| 0x30<br />
| 1<br />
| {{unknown}}<br />
| Index into [[#Section Info Table|section table]] which <code>prolog</code> is relative to. Skip if this field is 0.<br />
|-<br />
| 0x31<br />
| 1<br />
| {{unknown}}<br />
| Index into [[#Section Info Table|section table]] which <code>epilog</code> is relative to. Skip if this field is 0.<br />
|-<br />
| 0x32<br />
| 1<br />
| {{unknown}}<br />
| Index into [[#Section Info Table|section table]] which <code>unresolved</code> is relative to. Skip if this field is 0.<br />
|-<br />
| 0x33<br />
| 1<br />
| {{unknown}}<br />
| Padding.<br />
|-<br />
| 0x34<br />
| 4<br />
| <code>prolog</code><br />
| Offset into specified section of the <code>_prolog</code> function.<br />
|-<br />
| 0x38<br />
| 4<br />
| <code>epilog</code><br />
| Offset into specified section of the <code>_epilog</code> function.<br />
|-<br />
| 0x3c<br />
| 4<br />
| <code>unresolved</code><br />
| Offset into specified section of the <code>_unresolved</code> function.<br />
|-<br />
| 0x40<br />
| 4<br />
| <code>align</code><br />
| Version &ge; 2 only. Alignment constraint on all sections, expressed as power of 2.<br />
|-<br />
| 0x44<br />
| 4<br />
| <code>bssAlign</code><br />
| Version &ge; 2 only. Alignment constraint on all '<code>.bss</code>' section, expressed as power of 2.<br />
|-<br />
| 0x48<br />
| 4<br />
| <code>fixSize</code><br />
| {{unknown|Version &ge; 3 only. Unknown.}}<br />
|-<br />
| 0x4c or 0x48 or 0x40<br />
| colspan=3 {{unknown|End of header}}<br />
|-<br />
|}<br />
<br />
== Section Info Table ==<br />
The section info table comprises of ''numSections'' entries each 0x8 bytes long, of the following form:<br />
{| class="wikitable"<br />
|+ Section table entry<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 30 bits<br />
| Offset from the beginning of the REL to the section. If this is zero, the section is an uninitialized section (i.e. <code>.bss</code>).<br />
|-<br />
| 0x3.6<br />
| 1 bit<br />
| {{Unknown}}<br />
|-<br />
| 0x3.7<br />
| 1 bit<br />
| Executable flag; if this is 1 the section is executable.<br />
|-<br />
| 0x4<br />
| 4<br />
| Length in bytes of the section. If this is zero, this entry is skipped.<br />
|-<br />
| 0x8<br />
| colspan=2 {{unknown|Next entry}}<br />
|-<br />
|}<br />
<br />
== imp ==<br />
The '''imp''' acts as a directory for the relocation information. It controls which entries in the relocation table refer to. Each entry has the form:<br />
{| class="wikitable"<br />
|+ imp table entry<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 4<br />
| Module number (<code>id</code>) that these relocations refer to. 0 means these refer to [[main.dol]] instead.<br />
|-<br />
| 0x4<br />
| 4<br />
| Offset from the beginning of the REL to the relocation data.<br />
|-<br />
| 0x8<br />
| colspan=2 {{unknown|Next entry}}<br />
|-<br />
|}<br />
<br />
== Relocation Data ==<br />
The relocation data seems to be heavily based on the ELF relocation format. It is one or more lists of 0x8 byte structures, and must be parsed in order. The [[#imp|imp table]] gives the start of each list. The end of each list is marked by the special type code 203. Each entry has the form:<br />
{| class="wikitable"<br />
|+ Relocation table entry<br />
|-<br />
! Offset<br />
! Size<br />
! Description<br />
|-<br />
| 0x0<br />
| 2<br />
| Offset in bytes from the previous relocation to this one. If this is the first relocation in the section, this is relative to the section start.<br />
|-<br />
| 0x2<br />
| 1<br />
| The relocation type. Described below.<br />
|-<br />
| 0x3<br />
| 1<br />
| The section of the symbol to relocate against. For the special relocation type 202, this is instead the number of the section in this file which the following relocation entries apply to.<br />
|-<br />
| 0x4<br />
| 4<br />
| Offset in bytes of the symbol to relocate against, relative to the start of its section. This is an absolute address instead for relocations against [[main.dol]].<br />
|-<br />
| 0x8<br />
| colspan=2 {{unknown|Next entry}}<br />
|-<br />
|}<br />
<br />
The following relocation types are known[https://www.power.org/wp-content/uploads/2012/07/Power-Arch-32-bit-ABI-supp-1.0-Embedded.pdf <sup>[1&#93;</sup>]:<br />
{| class="wikitable"<br />
|+ Relocation entry type<br />
|-<br />
! Type<br />
! Name<br />
! Description<br />
|-<br />
| 0<br />
| R_PPC_NONE<br />
| Do nothing. Skip this entry.<br />
|-<br />
| 1<br />
| R_PPC_ADDR32<br />
| Write the 32 bit address of the symbol.<br />
|-<br />
| 2<br />
| R_PPC_ADDR24<br />
| Write the 24 bit address of the symbol divided by four shifted up 2 bits to the 32 bit value (for relocating branch instructions). Fail if address won't fit.<br />
|-<br />
| 3<br />
| R_PPC_ADDR16<br />
| Write the 16 bit address of the symbol. Fail if address more than 16 bits.<br />
|-<br />
| 4<br />
| R_PPC_ADDR16_LO<br />
| Write the low 16 bits of the address of the symbol.<br />
|-<br />
| 5<br />
| R_PPC_ADDR16_HI<br />
| Write the high 16 bits of the address of the symbol.<br />
|-<br />
| 6<br />
| R_PPC_ADDR16_HA<br />
| Write the high 16 bits of the address of the symbol plus 0x8000.<br />
|-<br />
| 7 - 9<br />
| R_PPC_ADDR14<br />
| Write the 14 bits of the address of the symbol divided by four shifted up 2 bits to the 32 bit value (for relocating conditional branch instructions). Fail if address won't fit.<br />
|-<br />
| 10<br />
| R_PPC_REL24<br />
| Write the 24 bit address of the symbol minus the address of the relocation divided by four shifted up 2 bits to the 32 bit value (for relocating relative branch instructions). Fail if address won't fit.<br />
|-<br />
| 11 - 13<br />
| R_PPC_REL14<br />
| Write the 14 bit address of the symbol minus the address of the relocation divided by four shifted up 2 bits to the 32 bit value (for relocating conditional relative branch instructions). Fail if address won't fit.<br />
|-<br />
| 201<br />
| R_RVL_NONE<br />
| Do nothing. Skip this entry. Carry the address of the symbol to the next entry.<br />
|-<br />
| 202<br />
| R_RVL_SECT<br />
| Change which section relocations are being applied to. Set the offset into the section to 0.<br />
|-<br />
| 203<br />
| R_RVL_STOP<br />
| Stop parsing the relocation table.<br />
|-<br />
|}<br />
<br />
The loader walks this table obeying each command until it encounters R_RVL_STOP. When relocation against a REL file (including against this file itself), the symbol address is calculated by taking the load address of the section ''section'' and adding the offset ''address''. For relocation again [[main.dol]], the symbol address is just ''address'' with no adjustment.<br />
<br />
= Tools =<br />
<br />
The following tools can handle REL files:<br />
* [[BrawlBox]], by [[Kryal]] & [[BlackJax]]<br />
* '''wstrt''' (see [[Wiimms SZS Tools]]) is able to patch data in the [[Mario Kart Wii]] file [[Filesystem/rel/StaticR.rel|StaticR.rel]].<br />
* [[StaticR.rel Tool]], by [[Atlas]], can edit the region number, plus HUD, region line, Mii suit and layout buttons colors from the same file.<br />
<br />
[[Category:File Format/Wii]]</div>Chadderz