Difference between revisions of "Filesystem/rel/StaticR.rel"
(Undo revision 124695 by MrSkopelos27 spacing is intended to separate cups) |
AlmostTWD98 (talk | contribs) m (Fixed errors.) |
||
(9 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | The file '''StaticR.rel''' is the only file in directory '''[[Filesystem/rel|/rel]]''' and contains much data for the [[Mario Kart Wii]]. All 4 known versions ([[PAL]], [[NTSC]], [[NTSC-J]] and [[NTSC-K]]) differ in size and content. All data is stored as [[big endian]] values. It is very hard to find things in StaticR.rel, because it seems to be an exported data section of a [[main.dol|dol]]: It has no structure but the related dol knows where the data is stored. See »[[REL (File Format)]]« for a general file format. | + | The file '''StaticR.rel''' is the only file in directory '''[[Filesystem/rel|/rel]]''' and contains much data for the [[Mario Kart Wii]]. All 4 known versions ([[PAL]], [[NTSC-U]], [[NTSC-J]] and [[NTSC-K]]) differ in size and content. All data is stored as [[big endian]] values. It is very hard to find things in StaticR.rel, because it seems to be an exported data section of a [[main.dol|dol]]: It has no structure but the related dol knows where the data is stored. See »[[REL (File Format)]]« for a general file format. |
Line 32: | Line 32: | ||
* The comments are based on tests with the PAL version. | * The comments are based on tests with the PAL version. | ||
− | * The standard setting is: 8,1,2,4 | + | * The standard setting is: 8,1,2,4 | 0,5,6,7 | 9,15,11,3 | 14,10,12,13 | 16,20,25,26 | 27,31,23,18 | 21,30,29,17 | 24,22,19,28 |
* In the [[BMG]] message files the track names are stored beginning from message IDs (MID) 0x2454 and 0x2490. Add the slot value to find the specific messages. | * In the [[BMG]] message files the track names are stored beginning from message IDs (MID) 0x2454 and 0x2490. Add the slot value to find the specific messages. | ||
Line 96: | Line 96: | ||
! PAL !! NTSC !! NTSC/J !! KOREA | ! PAL !! NTSC !! NTSC/J !! KOREA | ||
|- | |- | ||
− | | align=center | '''1''' || | + | | align=center | '''1''' || 0x384FD8 || 0x383A60 || 0x384CA8 || 0x3853C8 |
| ? | | ? | ||
|- | |- | ||
− | | align=center | '''2''' || | + | | align=center | '''2''' || 0x3974F8 || 0x39D130 || 0x396CD8 || 0x397938 |
| Used for cup selection. | | Used for cup selection. | ||
|- | |- | ||
− | | align=center | '''3''' || 0x397780 || | + | | align=center | '''3''' || 0x397780 || 0x39D3B8 || 0x396F60 || 0x397BC0 |
| Used for track selection and racing. | | Used for track selection and racing. | ||
|- | |- | ||
− | | align=center | '''4''' || | + | | align=center | '''4''' || 0x39C8E0 || 0x39E988 || 0x39C0C0 || 0x39CD20 |
| Used for track highlighting after races. | | Used for track highlighting after races. | ||
|} | |} | ||
* The comments are based on tests with the PAL version. | * The comments are based on tests with the PAL version. | ||
− | * The standard setting is: 0x21,0x20,0x23,0x22,0x24 | + | * The standard setting is: 0x21,0x20,0x23,0x22,0x24 | 0x27,0x28,0x29,0x25,0x26 |
* In the [[BMG]] message files the arena names are stored beginning from message IDs (MID) 0x24b8 and 0x24cc. Add the slot value and subtract 0x20 to find the specific messages. | * In the [[BMG]] message files the arena names are stored beginning from message IDs (MID) 0x24b8 and 0x24cc. Add the slot value and subtract 0x20 to find the specific messages. | ||
Line 136: | Line 136: | ||
wstrt patch StaticR.rel --arenas=LIST<ref>[[Wiimms SZS Tools]]: Option [http://szs.wiimm.de/opt/arenas --arenas]</ref> | wstrt patch StaticR.rel --arenas=LIST<ref>[[Wiimms SZS Tools]]: Option [http://szs.wiimm.de/opt/arenas --arenas]</ref> | ||
− | == Searching | + | == Searching for Players for Online Racing == |
− | If [[Mario Kart Wii | + | If [[Mario Kart Wii]] searches players worldwide or in regions for online racing, it creates some text queries. These queries looks like a WHERE clause of SQL queries. |
If analyzing the online communication, you can find for example the following condition string: | If analyzing the online communication, you can find for example the following condition string: | ||
Line 163: | Line 163: | ||
! PAL !! NTSC/USA !! NTSC/JAP !! KOREA | ! PAL !! NTSC/USA !! NTSC/JAP !! KOREA | ||
|- | |- | ||
− | | align=center | First string || | + | | align=center | First string || 0x389F36 || 0x389BE6 || 0x389716 || 0x38A34E |
|- | |- | ||
− | | align=center | Second string || | + | | align=center | Second string || 0x389F52 || 0x389C02 || 0x389732 || 0x38A36A |
|} | |} | ||
− | == Change | + | == Change Color of HUD == |
The color of the Head-up display in races can be changed at the following offsets: | The color of the Head-up display in races can be changed at the following offsets: | ||
Line 182: | Line 182: | ||
There are 4 floating point numbers here, one for each player. If the number is invalid, it defaults to white. | There are 4 floating point numbers here, one for each player. If the number is invalid, it defaults to white. | ||
− | == Change | + | == Change the Number of Points a Player Receives for Winning a Race == |
− | + | In offline and friend room races, players receive a specific amount of points between 15 and 0 depending on their position and how many players are participating. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | In offline and friend room races, players | ||
This point amount can be changed at the following offsets: | This point amount can be changed at the following offsets: | ||
Line 244: | Line 190: | ||
|+ Race points | |+ Race points | ||
|- | |- | ||
− | ! PAL !! NTSC | + | ! PAL !! NTSC-U !! NTSC-J !! NTSC-K |
|- | |- | ||
| align=center | 0x37FD50 || 0x37FC60 || 0x37FA20 || 0x380130 | | align=center | 0x37FD50 || 0x37FC60 || 0x37FA20 || 0x380130 | ||
|} | |} | ||
− | The definition is 144 bytes long, each group of 12 bytes describes the points for one player count | + | The definition is 144 bytes long, each group of 12 bytes describes the points for one player count. |
{| class="textbox grid" | {| class="textbox grid" | ||
Line 291: | Line 237: | ||
|} | |} | ||
− | == Item | + | == Item Behavior Modifier == |
− | You can change the | + | You can change the behavior of items. For example, setting Triple Bananas to circle around your kart like in Mario Kart 8. |
Modifier values: | Modifier values: | ||
− | <pre>00 00 00 00: Use Item (e. g. Bullet Bill) | + | <pre>00 00 00 00: Use Item (e.g. Bullet Bill) |
− | 00 00 00 01: Fire Item (e.g. Red | + | 00 00 00 01: Fire Item (e.g. Red Shell) |
− | 00 00 00 02: Trailing Kart (e. g. | + | 00 00 00 02: Trailing Kart (e.g. Triple Banana) |
− | 00 00 00 03: Circling Kart (e. g. | + | 00 00 00 03: Circling Kart (e.g. Triple Shell)</pre> |
{| class="textbox grid" | {| class="textbox grid" | ||
− | |+ File | + | |+ Item Behavior File Offsets |
! rowspan=2 | Item !! colspan=4 | File Offsets !! rowspan=2 | Standard <br/>value | ! rowspan=2 | Item !! colspan=4 | File Offsets !! rowspan=2 | Standard <br/>value | ||
|- | |- | ||
! PAL !! NTSC/USA !! NTSC/JAP !! KOREA | ! PAL !! NTSC/USA !! NTSC/JAP !! KOREA | ||
|- | |- | ||
− | | align=center | Banana | + | | align=center | Banana || 0x395084 || 0x394A44 || 0x394864 || 0x3954C4 || align=center | 01 |
|- | |- | ||
− | | align=center | Triple Banana || 0x3950A0 || 0x394A60 || 0x394880 || | + | | align=center | Triple Banana || 0x3950A0 || 0x394A60 || 0x394880 || 0x3954E0 || align=center | 02 |
|- | |- | ||
− | | align=center | Bob-omb || 0x39519C || 0x394B5C || 0x39497C || | + | | align=center | Bob-omb || 0x39519C || 0x394B5C || 0x39497C || 0x3955DC || align=center | 01 |
|- | |- | ||
− | | align=center | Fake Item Box || 0x3953FC || 0x394DBC || 0x394BDC || | + | | align=center | Fake Item Box || 0x3953FC || 0x394DBC || 0x394BDC || 0x39583C || align=center | 01 |
|- | |- | ||
− | | align=center | Mushroom || 0x395670 || 0x394F50 || 0x394E50 || | + | | align=center | Mushroom || 0x395670 || 0x394F50 || 0x394E50 || 0x395AB0 || align=center | 00 |
|- | |- | ||
− | | align=center | Triple Mushroom || 0x39568C || 0x394F6C || 0x394E6C || | + | | align=center | Triple Mushroom || 0x39568C || 0x394F6C || 0x394E6C || 0x395ACC || align=center | 00 |
|- | |- | ||
− | | align=center | Golden Mushroom || 0x3956F8 || 0x394FA0 || 0x394ED8 || | + | | align=center | Golden Mushroom || 0x3956F8 || 0x394FA0 || 0x394ED8 || 0x395B38 || align=center | 00 |
|- | |- | ||
− | | align=center | Red Shell || 0x395734 || 0x394FDC || 0x394F14 || | + | | align=center | Red Shell || 0x395734 || 0x394FDC || 0x394F14 || 0x395B74 || align=center | 01 |
|- | |- | ||
− | | align=center | Triple Red Shell || 0x395750 || 0x394FF8 || 0x394F30 || | + | | align=center | Triple Red Shell || 0x395750 || 0x394FF8 || 0x394F30 || 0x395B90 || align=center | 03 |
|- | |- | ||
− | | align=center | Blue Shell || 0x39584C || 0x3950F4 || 0x39502C || | + | | align=center | Blue Shell || 0x39584C || 0x3950F4 || 0x39502C || 0x395C8C || align=center | 01 |
|- | |- | ||
− | | align=center | Green Shell || | + | | align=center | Green Shell || 0x395A3C || 0x3952E4 || 0x39521C || 0x395E7C || align=center | 01 |
|- | |- | ||
− | | align=center | Triple Green Shell || 0x395A58 || 0x395300 || 0x395238 || | + | | align=center | Triple Green Shell || 0x395A58 || 0x395300 || 0x395238 || 0x395E90 || align=center | 03 |
|- | |- | ||
− | | align=center | Star || 0x395ED8 || 0x395528 || 0x3956B8 || | + | | align=center | Star || 0x395ED8 || 0x395528 || 0x3956B8 || 0x396318 || align=center | 00 |
|- | |- | ||
− | | align=center | Lightning || 0x395F88 || 0x3955D8 || 0x395768 || | + | | align=center | Lightning || 0x395F88 || 0x3955D8 || 0x395768 || 0x3963C8 || align=center | 00 |
|- | |- | ||
− | | align=center | Blooper || 0x3955B0 || 0x396E10 || 0x394D90 || | + | | align=center | Blooper || 0x3955B0 || 0x396E10 || 0x394D90 || 0x3959F0 || align=center | 00 |
|- | |- | ||
− | | align=center | Mega Mushroom || 0x3956C0 || 0x396ED0 || 0x394EA0 || | + | | align=center | Mega Mushroom || 0x3956C0 || 0x396ED0 || 0x394EA0 || 0x395B00 || align=center | 00 |
|- | |- | ||
− | | align=center | Bullet Bill || 0x395628 || 0x396E88 || 0x394E08 || | + | | align=center | Bullet Bill || 0x395628 || 0x396E88 || 0x394E08 || 0x395A68 || align=center | 00 |
|- | |- | ||
− | | align=center | | + | | align=center | Thunder Cloud || 0x395B2C || 0x396F0C || 0x39530C || 0x395F6C || align=center | 00 |
|- | |- | ||
− | | align=center | POW Block || 0x395CBC || 0x39709C || 0x39549C || | + | | align=center | POW Block || 0x395CBC || 0x39709C || 0x39549C || 0x3960FC || align=center | 00 |
|} | |} | ||
− | == Fake Item Box | + | == Fake Item Box Color Modifier == |
− | Fake | + | Fake Item Boxes look like normal items boxes. |
{| class="textbox grid" | {| class="textbox grid" | ||
Line 355: | Line 301: | ||
! rowspan=2 | Info !! colspan=4 | File Offsets !! colspan=2 | Values | ! rowspan=2 | Info !! colspan=4 | File Offsets !! colspan=2 | Values | ||
|- | |- | ||
− | ! PAL !! NTSC/USA !! NTSC/JAP !! KOREA !! Old | + | ! PAL !! NTSC/USA !! NTSC/JAP !! KOREA !! Old Value !! New Value |
|- | |- | ||
− | | align=center | First patch || | + | | align=center | First patch || 0x3953E0 || 0x394DA0 || 0x394BC0 || 0x395820 || 0x00000000 || 0x4BC00000 |
|- | |- | ||
− | | align=center | Second patch || | + | | align=center | Second patch || 0x395EF0 || 0x395540 || 0x3956D0 || 0x396330 || 0x00000000 || 0x40000000 |
|} | |} | ||
− | == Engine Class | + | == Engine Class Modifier == |
{| class="textbox grid" | {| class="textbox grid" | ||
Line 379: | Line 325: | ||
|} | |} | ||
+ | == Character Order Table == | ||
+ | |||
+ | There's a table that defines the character in each slot of the character select screen. The table is 0x60 bytes long. | ||
+ | |||
+ | {| class="textbox grid" | ||
+ | |+ Offsets of the character slot table | ||
+ | |- | ||
+ | ! PAL !! NTSC/USA !! NTSC/JAP !! KOREA | ||
+ | |- | ||
+ | | align=center | 0x397B00 || 0x3971A8 || 0x3972E0 || 0x397F40 | ||
+ | |} | ||
+ | |||
+ | Each character is the 32-bit value of their assigned [[List of Identifiers#Characters|identifier]]. As you unlock characters, the character slots on the right start appearing. | ||
+ | |||
+ | == Menu Character Display Position == | ||
+ | |||
+ | This is where the game places the character display on the menu. | ||
+ | |||
+ | {| class="textbox grid" | ||
+ | |+ Offsets of the character position | ||
+ | |- | ||
+ | ! PAL !! NTSC/USA !! NTSC/JAP !! KOREA | ||
+ | |- | ||
+ | | align=center | 0x385DC0 || 0x388728 || 0x349A90 || 0x3866C8 | ||
+ | |} | ||
+ | |||
+ | The first value is the horizontal position from the center of the screen (default is -190), the second is the vertical position from the center (default is 0), the third is Scale (default is 1). Note: Scaling the character bigger will not increase the resolution, so they will still be as pixelated as they would normally. All values are float. | ||
+ | |||
== References == | == References == | ||
<references/> | <references/> |
Latest revision as of 02:41, 1 September 2021
The file StaticR.rel is the only file in directory /rel and contains much data for the Mario Kart Wii. All 4 known versions (PAL, NTSC-U, NTSC-J and NTSC-K) differ in size and content. All data is stored as big endian values. It is very hard to find things in StaticR.rel, because it seems to be an exported data section of a dol: It has no structure but the related dol knows where the data is stored. See »REL (File Format)« for a general file format.
Track Order Tables
There are 5 copies of the track assigning tables in the file. The tables consists of 32 32-bit numbers. Each value from 0 to 31 (0x1f) is used exactly once.
Table | File offsets | Comments | |||
---|---|---|---|---|---|
PAL | NTSC | NTSC/J | KOREA | ||
1 | 0x37FCD0 | 0x37FBE0 | 0x37F9A0 | 0x3800B0 | Used for Grand Prix. |
2 | 0x384F58 | 0x3839E0 | 0x384C28 | 0x385348 | Used for In Order and Random VS races and track highlighting after races. |
3 | 0x397DA8 | 0x397450 | 0x397588 | 0x3981E8 | Used for track selection and racing. |
4 | 0x398130 | 0x3977D8 | 0x397910 | 0x398570 | Used for cup selection. |
5 | 0x39D040 | 0x39B300 | 0x39C820 | 0x39D480 | ? |
- The comments are based on tests with the PAL version.
- The standard setting is: 8,1,2,4 | 0,5,6,7 | 9,15,11,3 | 14,10,12,13 | 16,20,25,26 | 27,31,23,18 | 21,30,29,17 | 24,22,19,28
- In the BMG message files the track names are stored beginning from message IDs (MID) 0x2454 and 0x2490. Add the slot value to find the specific messages.
The following table shows the native order (not reordered by the above tables) of all tracks and the corresponding file names:
std file name sound standard fast sound track track idx slot of track slot sound file name f.name abbr. name ---------------------------------------------------------------------------------------------- 8. 1.1 beginner_course 0x75 n_Circuit32_n _f LC Luigi Circuit 1. 1.2 farm_course 0x77 n_Farm_n _F MMM Moo Moo Meadows 2. 1.3 kinoko_course 0x79 n_Kinoko_n _F MG Mushroom Gorge 4. 1.4 factory_course 0x7b STRM_N_FACTORY_N _F TF Toad's Factory ---------------------------------------------------------------------------------------------- 0. 2.1 castle_course 0x7d n_Circuit32_n _f MC Mario Circuit 5. 2.2 shopping_course 0x7f n_Shopping32_n _f CM Coconut Mall 6. 2.3 boardcross_course 0x81 n_Snowboard32_n _F DKS DK Summit 7. 2.4 truck_course 0x83 STRM_N_TRUCK_N _F WGM Wario's Gold Mine ---------------------------------------------------------------------------------------------- 9. 3.1 senior_course 0x87 n_Daisy32_n _f DC Daisy Circuit 15. 3.2 water_course 0x85 STRM_N_WATER_N _F KC Koopa Cape 11. 3.3 treehouse_course 0x8f n_maple_n _F MT Maple Treeway 3. 3.4 volcano_course 0x8b n_Volcano32_n _f GV Grumble Volcano ---------------------------------------------------------------------------------------------- 14. 4.1 desert_course 0x89 STRM_N_DESERT_N _F DDR Dry Dry Ruins 10. 4.2 ridgehighway_course 0x8d STRM_N_RIDGEHIGHWAY_N _F MH Moonview Highway 12. 4.3 koopa_course 0x91 STRM_N_KOOPA_N _F BC Bowser's Castle 13. 4.4 rainbow_course 0x93 n_Rainbow32_n _f RR Rainbow Road ---------------------------------------------------------------------------------------------- 16. 5.1 old_peach_gc 0xa5 r_GC_Beach32_n _f gPB GCN Peach Beach 20. 5.2 old_falls_ds 0xad r_DS_Jungle32_n _f dYF DS Yoshi Falls 25. 5.3 old_obake_sfc 0x97 r_SFC_Obake32_n _f sGV2 SNES Ghost Valley 2 26. 5.4 old_mario_64 0x9f r_64_Circuit32_n _f nMR N64 Mario Raceway ---------------------------------------------------------------------------------------------- 27. 6.1 old_sherbet_64 0x9d r_64_Sherbet32_n _f nSL N64 Sherbet Land 31. 6.2 old_heyho_gba 0x95 r_AGB_Beach32_n _f gSGB GBA Shy Guy Beach 23. 6.3 old_town_ds 0xaf r_DS_Town32_n _f dDS DS Delfino Square 18. 6.4 old_waluigi_gc 0xa9 r_GC_Stadium32_n _f gWS GCN Waluigi Stadium ---------------------------------------------------------------------------------------------- 21. 7.1 old_desert_ds 0xb1 r_DS_Desert32_n _f dDH DS Desert Hills 30. 7.2 old_koopa_gba 0x9b r_AGB_Kuppa32_n _f gBC3 GBA Bowser Castle 3 29. 7.3 old_donkey_64 0xa1 r_64_Jungle32_n _f nDKJP N64 DK's Jungle Parkway 17. 7.4 old_mario_gc 0xa7 r_GC_Circuit32_n _f gMC GCN Mario Circuit ---------------------------------------------------------------------------------------------- 24. 8.1 old_mario_sfc 0x99 r_SFC_Circuit32_n _f sMC3 SNES Mario Circuit 3 22. 8.2 old_garden_ds 0xb3 r_DS_Garden32_n _f dPG DS Peach Gardens 19. 8.3 old_donkey_gc 0xab r_GC_Mountain32_n _f gDKM GCN DK Mountain 28. 8.4 old_koopa_64 0xa3 r_64_Kuppa32_n _f nBC N64 Bowser's Castle ----------------------------------------------------------------------------------------------
Changing the order allows to move Special Slots to other places. The following command of Wiimms SZS Tools may change the track order:
wstrt patch StaticR.rel --tracks=LIST[1]
Arena Order Tables
There are 4 copies of the track assigning tables in the file. The tables consists of 10 32-bit numbers. Each value from 32 (0x20) to 41 (0x29) is used exactly once.
Table | file offsets | Comments | |||
---|---|---|---|---|---|
PAL | NTSC | NTSC/J | KOREA | ||
1 | 0x384FD8 | 0x383A60 | 0x384CA8 | 0x3853C8 | ? |
2 | 0x3974F8 | 0x39D130 | 0x396CD8 | 0x397938 | Used for cup selection. |
3 | 0x397780 | 0x39D3B8 | 0x396F60 | 0x397BC0 | Used for track selection and racing. |
4 | 0x39C8E0 | 0x39E988 | 0x39C0C0 | 0x39CD20 | Used for track highlighting after races. |
- The comments are based on tests with the PAL version.
- The standard setting is: 0x21,0x20,0x23,0x22,0x24 | 0x27,0x28,0x29,0x25,0x26
- In the BMG message files the arena names are stored beginning from message IDs (MID) 0x24b8 and 0x24cc. Add the slot value and subtract 0x20 to find the specific messages.
The following table shows the native order (not reordered by the above tables) of all arenas and the corresponding file names. Add 0x20 to the index to find the value for the assigning tables:
std file name sound standard + fast arena arena idx slot of arena slot sound file name abbr. name ----------------------------------------------------------------------------------- 1. 1.1 block_battle 0xb7 n_block_n _F aBP Block Plaza 0. 1.2 venice_battle 0xb5 n_venice_n _F aDP Delfino Pier 3. 1.3 skate_battle 0xb9 n_skate_n _F aFS Funky Stadium 2. 1.4 casino_battle 0xbb n_casino_n _F aCCW Chain Chomp Wheel 4. 1.5 sand_battle 0xbd n_ryuusa_n _F aTD Thwomp Desert ----------------------------------------------------------------------------------- 7. 2.1 old_battle4_sfc 0xc3 r_sfc_battle_n _F asBC4 SNES Battle Course 4 8. 2.2 old_battle3_gba 0xc5 r_agb_battle_n _F agBC3 GBA Battle Course 3 9. 2.3 old_matenro_64 0xc7 r_64_battle_n _F anSS N64 Skyscraper 5. 2.4 old_CookieLand_gc 0xbf r_GC_Battle32_n _F agCL GCN Cookie Land 6. 2.5 old_House_ds 0xc1 r_ds_battle_n _F adTH DS Twilight House -----------------------------------------------------------------------------------
The following command of Wiimms SZS Tools may change the track order:
wstrt patch StaticR.rel --arenas=LIST[2]
Searching for Players for Online Racing
If Mario Kart Wii searches players worldwide or in regions for online racing, it creates some text queries. These queries looks like a WHERE clause of SQL queries.
If analyzing the online communication, you can find for example the following condition string:
... and (rk = 'vs_21' and ev >= 5215 and ev <= 8215 and p = 0)
- vs_21 is the region name (playing in region 21).
- At this point I had 6715 points. The Wii builds a range from 6715-1500 up to 6715+1500 and search players within this range.
In StaticR.rel you can find the following string twice (1 for racing, 1 for battle):
%s >= %d and %s <= %d
If replacing the string by another one with the same number of characters ...
(%s > %d or %s <= %d)
... the above query becomes:
... and (rk = 'vs_21' and (ev > 5215 or ev <= 8215) and p = 0)
And now the inner part of the condition is always true, so that all players independent of their ranking points will be found.
The following command of Wiimms SZS Tools will exactly patch a StaticR.rel file in the described way:
wstrt patch StaticR.rel --all-ranks[3]
Info | File Offsets | |||
---|---|---|---|---|
PAL | NTSC/USA | NTSC/JAP | KOREA | |
First string | 0x389F36 | 0x389BE6 | 0x389716 | 0x38A34E |
Second string | 0x389F52 | 0x389C02 | 0x389732 | 0x38A36A |
Change Color of HUD
The color of the Head-up display in races can be changed at the following offsets:
PAL | NTSC/USA | NTSC/JAP | KOREA |
---|---|---|---|
0x399346 | 0x397F9E | 0x398B26 | 0x399786 |
There are 4 floating point numbers here, one for each player. If the number is invalid, it defaults to white.
Change the Number of Points a Player Receives for Winning a Race
In offline and friend room races, players receive a specific amount of points between 15 and 0 depending on their position and how many players are participating. This point amount can be changed at the following offsets:
PAL | NTSC-U | NTSC-J | NTSC-K |
---|---|---|---|
0x37FD50 | 0x37FC60 | 0x37FA20 | 0x380130 |
The definition is 144 bytes long, each group of 12 bytes describes the points for one player count.
Offset | Player count | Default value |
---|---|---|
0x00 | 1 Player | 15 |
0x0C | 2 Players | 15, 7 |
0x18 | 3 Players | 15, 8, 2 |
0x24 | 4 Players | 15, 9, 4, 1 |
0x30 | 5 Players | 15, 9, 5, 2, 1 |
0x3C | 6 Players | 15, 10, 6, 3, 1, 0 |
0x48 | 7 Players | 15, 10, 7, 5, 3, 1, 0 |
0x54 | 8 Players | 15, 11, 8, 6, 4, 2, 1, 0 |
0x60 | 9 Players | 15, 11, 8, 6, 4, 3, 2, 1, 0 |
0x6C | 10 Players | 15, 12, 10, 8, 6, 4, 3, 2, 1, 0 |
0x78 | 11 Players | 15, 12, 10, 8, 6, 5, 4, 3, 2, 1, 0 |
0x84 | 12 Players | 15, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0 |
Item Behavior Modifier
You can change the behavior of items. For example, setting Triple Bananas to circle around your kart like in Mario Kart 8.
Modifier values:
00 00 00 00: Use Item (e.g. Bullet Bill) 00 00 00 01: Fire Item (e.g. Red Shell) 00 00 00 02: Trailing Kart (e.g. Triple Banana) 00 00 00 03: Circling Kart (e.g. Triple Shell)
Item | File Offsets | Standard value | |||
---|---|---|---|---|---|
PAL | NTSC/USA | NTSC/JAP | KOREA | ||
Banana | 0x395084 | 0x394A44 | 0x394864 | 0x3954C4 | 01 |
Triple Banana | 0x3950A0 | 0x394A60 | 0x394880 | 0x3954E0 | 02 |
Bob-omb | 0x39519C | 0x394B5C | 0x39497C | 0x3955DC | 01 |
Fake Item Box | 0x3953FC | 0x394DBC | 0x394BDC | 0x39583C | 01 |
Mushroom | 0x395670 | 0x394F50 | 0x394E50 | 0x395AB0 | 00 |
Triple Mushroom | 0x39568C | 0x394F6C | 0x394E6C | 0x395ACC | 00 |
Golden Mushroom | 0x3956F8 | 0x394FA0 | 0x394ED8 | 0x395B38 | 00 |
Red Shell | 0x395734 | 0x394FDC | 0x394F14 | 0x395B74 | 01 |
Triple Red Shell | 0x395750 | 0x394FF8 | 0x394F30 | 0x395B90 | 03 |
Blue Shell | 0x39584C | 0x3950F4 | 0x39502C | 0x395C8C | 01 |
Green Shell | 0x395A3C | 0x3952E4 | 0x39521C | 0x395E7C | 01 |
Triple Green Shell | 0x395A58 | 0x395300 | 0x395238 | 0x395E90 | 03 |
Star | 0x395ED8 | 0x395528 | 0x3956B8 | 0x396318 | 00 |
Lightning | 0x395F88 | 0x3955D8 | 0x395768 | 0x3963C8 | 00 |
Blooper | 0x3955B0 | 0x396E10 | 0x394D90 | 0x3959F0 | 00 |
Mega Mushroom | 0x3956C0 | 0x396ED0 | 0x394EA0 | 0x395B00 | 00 |
Bullet Bill | 0x395628 | 0x396E88 | 0x394E08 | 0x395A68 | 00 |
Thunder Cloud | 0x395B2C | 0x396F0C | 0x39530C | 0x395F6C | 00 |
POW Block | 0x395CBC | 0x39709C | 0x39549C | 0x3960FC | 00 |
Fake Item Box Color Modifier
Fake Item Boxes look like normal items boxes.
Info | File Offsets | Values | ||||
---|---|---|---|---|---|---|
PAL | NTSC/USA | NTSC/JAP | KOREA | Old Value | New Value | |
First patch | 0x3953E0 | 0x394DA0 | 0x394BC0 | 0x395820 | 0x00000000 | 0x4BC00000 |
Second patch | 0x395EF0 | 0x395540 | 0x3956D0 | 0x396330 | 0x00000000 | 0x40000000 |
Engine Class Modifier
Info | File offsets | Default value | |||
---|---|---|---|---|---|
PAL | NTSC/USA | NTSC/JAP | KOREA | ||
50cc | 0x3A59F4 | 0x3A54B4 | 0x3A51D4 | 0x3A5E4C | 0.8 |
100cc | 0x3A59F8 | 0x3A54B8 | 0x3A51D8 | 0x3A5E50 | 0.9 |
150cc / Mirror / Time Trials | 0x3A59FC | 0x3A54BC | 0x3A51DC | 0x3A5E54 | 1.0 |
Battle | 0x3A5A00 | 0x3A54C0 | 0x3A51E0 | 0x3A5E58 | 0.7 |
Character Order Table
There's a table that defines the character in each slot of the character select screen. The table is 0x60 bytes long.
PAL | NTSC/USA | NTSC/JAP | KOREA |
---|---|---|---|
0x397B00 | 0x3971A8 | 0x3972E0 | 0x397F40 |
Each character is the 32-bit value of their assigned identifier. As you unlock characters, the character slots on the right start appearing.
Menu Character Display Position
This is where the game places the character display on the menu.
PAL | NTSC/USA | NTSC/JAP | KOREA |
---|---|---|---|
0x385DC0 | 0x388728 | 0x349A90 | 0x3866C8 |
The first value is the horizontal position from the center of the screen (default is -190), the second is the vertical position from the center (default is 0), the third is Scale (default is 1). Note: Scaling the character bigger will not increase the resolution, so they will still be as pixelated as they would normally. All values are float.
References
- ↑ Wiimms SZS Tools: Option --tracks
- ↑ Wiimms SZS Tools: Option --arenas
- ↑ Wiimms SZS Tools: Option --all-ranks