Difference between revisions of "Filesystem/Race/Common.szs/GeoHitTableKart.bin"

From Custom Mario Kart
Jump to: navigation, search
m
 
(7 intermediate revisions by 3 users not shown)
Line 70: Line 70:
 
| 0x11 || Crush hit at any speed (lasts longer than 0x1E), lose item.
 
| 0x11 || Crush hit at any speed (lasts longer than 0x1E), lose item.
 
|-
 
|-
| 0x12 || Bump towards the player at certain speed.
+
| 0x12 || Small bump towards the player, it's possible to clip through object at certain speed.
 
|-
 
|-
 
| 0x13 || Big bump towards the player at any speed.
 
| 0x13 || Big bump towards the player at any speed.
Line 88: Line 88:
 
| 0x1A || Object acts like a wall at any speed, only spark and sound at certain speed.
 
| 0x1A || Object acts like a wall at any speed, only spark and sound at certain speed.
 
|-
 
|-
| 0x1B || Bump towards the player at any speed.
+
| 0x1B || Object acts like a rubber wall.
 
|-
 
|-
 
| 0x1C || Constant wall at any speed, only if the object has collision.
 
| 0x1C || Constant wall at any speed, only if the object has collision.
Line 106: Line 106:
  
 
=== Section 2 ===
 
=== Section 2 ===
The second part consists of an object usage table. It lists the indexes of all object slot IDs in Section 1. This section is exactly the same in GeoHitTableItem.bin, GeoHitTableItemObj.bin, GeoHitTableKart.bin, GeoHitTableKartObj.bin and ObjFlow.bin.
+
{{Object Section 2}}
  
{| class="wikitable"
+
== Object Groups ==
|+ Section 2 format
+
{{Object Groups}}
|-
+
! Offset !! Type !! Description
+
|-
+
| 0x00 || u16 || {{Unknown-left|'''Unknown.''' 0xFFFF.}}
+
|-
+
| 0x02 || u16['''N'''] || List of '''N''' object slot IDs indexes, relative to Section 1 objects. <br>0xFFFF = unused slot. <br>'''N''' = Number of object slot IDs, 0x2F3 total slots in [[Mario Kart Wii]].
+
|}
+
  
 
== Object List ==
 
== Object List ==
 
<pre>
 
<pre>
id Name         No power-up Star         Mega Mushroom  Bullet Bill
+
ID Name         No power-up Star         Mega Mushroom  Bullet Bill
 
-------------------------------------------------------------------------------------------
 
-------------------------------------------------------------------------------------------
 
001 airblock              8 8 8 8
 
001 airblock              8 8 8 8
Line 439: Line 432:
 
2f3 DKfalls              - - - -
 
2f3 DKfalls              - - - -
 
</pre>
 
</pre>
 +
 +
{{Common Support|GeoHitTableKart.bin}}
  
 
== Tools ==
 
== Tools ==
 +
 
The following tools can handle GeoHitTableKart.bin:
 
The following tools can handle GeoHitTableKart.bin:
* (none)
+
* [[Wiimms SZS Tools]], by [[Wiimm]], see [https://szs.wiimm.de/cmd/wszst/text wszst text] and [https://szs.wiimm.de/cmd/wszst/binary wszst binary] for details.
  
 
[[Category:Filesystem|G]]
 
[[Category:Filesystem|G]]
 
[[Category:File Format/MKW|G]]
 
[[Category:File Format/MKW|G]]
 +
[[Category:LE-CODE]]

Latest revision as of 10:20, 31 August 2019

GeoHitTableKart.bin is a sub file of /Race/Common.szs. It contains a list of player interaction parameters with objects.

File Format

This file shares a table-based format also used in GeoHitTableItem.bin, GeoHitTableItemObj.bin, GeoHitTableKartObj.bin and ObjFlow.bin; which is divided in a header and two sections.

Header

Header
Offset Type Description
0x00 u16 Number of objects.
0x02 u16 Number of fields in section 1, excluding the Object ID. 0x4 for this file.
0x04 End of header, start of section 1

Section 1

This section contains the main table with hit parameters for each object.

Format of a GeoHitTableKart.bin object
Offset Type Description
0x00 u16 Object ID.
0x02 u16 Interaction type without any power-up status.
0x04 u16 Interaction type with Star power-up.
0x06 u16 Interaction type with Mega Mushroom power-up.
0x08 u16 Interaction type with Bullet Bill power-up.

Note: the invincibility state of power-ups ignore damage hit interactions.

Interaction types

The main difference between GeoHitTableKartObj.bin and this file is that the first one contains the interaction types that affect the objects, and the second one the interaction types that affect the players. This table represents all possible interaction types:

Interaction type list
ID Description
0x01-0x06 Constant wall at any speed, only if the object has collision (unused).
0x07 Clip through the object at any speed (unused).
0x08 Object acts like a wall at any speed, only spark and sound at certain speed.
0x09 Spin hit at any speed, don't lose item (unused).
0x0A Spin hit only at certain speed, wall without spark/sound if moving slow/without moving, don't lose item.
0x0B Fire spin hit at any speed, don't lose item.
0x0C Clip through the object at certain speed, wall without spark/sound if moving slow/without moving (unused).
0x0D Small launch up hit at any speed, don't lose item.
0x0E Knockback hit at certain speed and if static, wall without spark/sound if not static, lose item.
0x0F Launch up hit and bump once in the ground at any speed, glitchy spin in mid air on certain objects, lose item (unused).
0x10 Knockback hit and bump once in the ground at any speed, lose item.
0x11 Crush hit at any speed (lasts longer than 0x1E), lose item.
0x12 Small bump towards the player, it's possible to clip through object at certain speed.
0x13 Big bump towards the player at any speed.
0x14 Spin hit, bumps and shrinks the player at any speed.
0x15 High launch up hit at any speed, lose item.
0x16 Spin hit at certain speed.
0x17 Constant weak wall at any speed, only if the object has collision.
0x18 Constant wall at any speed, only if the object has collision.
0x19 Launch up hit at any speed, glitchy spin in mid air on certain objects, don't lose item.
0x1A Object acts like a wall at any speed, only spark and sound at certain speed.
0x1B Object acts like a rubber wall.
0x1C Constant wall at any speed, only if the object has collision.
0x1D Untrickable jump pad at any speed (unused).
0x1E Crush hit at any speed (lasts shorter than 0x11), lose item.
0x1F Crush hit at any speed, then respawn, lose item (unused).
0x20 Explosion launch up hit at any speed, lose item.
0x100 Knockback hit at any speed, lose item (unused).

Any other value is ignored by the game, and hence will have no effect or a random effect on the object, or it will freeze the game.

Section 2

The second part consists of an object usage table. It lists the indexes of all object slot IDs in Section 1. This section is exactly the same in GeoHitTableItem.bin, GeoHitTableItemObj.bin, GeoHitTableKart.bin, GeoHitTableKartObj.bin and ObjFlow.bin.

Section 2 format
Offset Type Description
0x00 u16[N] List of N object slot IDs indexes, relative to Section 1 objects.
N = Number of object slot IDs, 0x2F4 total slots in Mario Kart Wii for object IDs 0-0x2F3.
Value 0xFFFF (-1) for undefined objects (no slot).

Object Groups

All 316 objects are divided into 8 groups and the hundreds-digit (from 0 to 7) is the group number. Each group starts with object 01, there are no gaps. The idea behind the groups is unknown.

Object Groups
Hex range Decimal range Number
of
objects
Details
0x001-0x018 1– 24 24  ?
0x065-0x077 101–119 19  ?
0x0c9-0x0f3 201–243 43  ?
0x12d-0x18f 301–399 99  ?
0x191-0x1ac 401–428 28  ?
0x1f5-0x21b 501–539 39  ?
0x259-0x261 601–609 9  ?
0x2bd-0x2f3 701–755 55  ?

Object List

ID	Name		        No power-up	Star	        Mega Mushroom   Bullet Bill
-------------------------------------------------------------------------------------------
001	airblock              	8		8		8		8	
002	Psea                  	-		-		-		-	
003	lensFX                	-		-		-		-	
004	venice_nami           	-		-		-		-	
005	sound_river           	-		-		-		-	
006	sound_water_fall      	-		-		-		-	
007	pocha                 	-		-		-		-	
008	sound_lake            	-		-		-		-	
009	sound_big_fall        	-		-		-		-	
00a	sound_sea             	-		-		-		-	
00b	sound_fountain        	-		-		-		-	
00c	sound_volcano         	-		-		-		-	
00d	sound_audience        	-		-		-		-	
00e	sound_big_river       	-		-		-		-	
00f	sound_sand_fall       	-		-		-		-	
010	sound_lift            	-		-		-		-	
011	pochaYogan            	-		-		-		-	
012	entry                 	-		-		-		-	
013	pochaMori             	-		-		-		-	
014	eline_control         	-		-		-		-	
015	sound_Mii             	-		-		-		-	
016	begoman_manager       	-		-		-		-	
017	ice                   	-		-		-		-	
018	startline2D           	-		-		-		-	
065	itembox               	-		-		-		-	
066	DummyPole             	1a		1a		1a		1a	
067	flag                  	8		8		8		8	
068	flagBlend             	8		8		8		8	
069	gnd_sphere            	-		-		-		-	
06a	gnd_trapezoid         	-		-		-		-	
06b	gnd_wave1             	-		-		-		-	
06c	gnd_wave2             	-		-		-		-	
06d	gnd_wave3             	-		-		-		-	
06e	gnd_wave4             	-		-		-		-	
06f	sun                   	-		-		-		-	
070	woodbox               	8		-		-		-	
071	KmoonZ                	-		-		-		-	
072	sunDS                 	-		-		-		-	
073	coin                  	-		-		-		-	
074	ironbox               	8		8		8		8	
075	ItemDirect            	-		-		-		-	
076	s_itembox             	-		-		-		-	
077	pile_coin             	-		-		-		-	
0c9	f_itembox             	-		-		-		-	
0ca	MashBalloonGC         	-		-		-		-	
0cb	WLwallGC              	8		8		8		8	
0cc	CarA1                 	e		-		-		-	
0cd	basabasa              	12		-		-		-	
0ce	HeyhoShipGBA          	-		-		-		-	
0cf	koopaBall             	19		-		-		-	
0d0	kart_truck            	1e		-		8		-	
0d1	car_body              	1e		-		-		-	
0d2	skyship               	-		-		-		-	
0d3	w_woodbox             	8		-		-		-	
0d4	w_itembox             	-		-		-		-	
0d5	w_itemboxline         	8		-		-		-	
0d6	VolcanoBall1          	b		-		-		-	
0d7	penguin_s             	a		-		-		-	
0d8	penguin_m             	a		-		-		-	
0d9	penguin_l             	-		-		-		-	
0da	castleballoon1        	-		-		-		-	
0db	dossunc               	8		-		-		-	
0dc	dossunc_soko          	11		-		-		-	
0dd	boble                 	b		-		-		-	
0de	K_bomb_car            	20		-		-		-	
0df	K_bomb_car_dummy      	20		-		-		-	
0e0	car_body_dummy        	-		-		-		-	
0e1	kart_truck_dummy      	-		-		-		-	
0e2	hanachan              	1b		-		-		-	
0e3	seagull               	-		-		-		-	
0e4	moray                 	-		-		-		-	
0e5	crab                  	a		-		-		-	
0e6	basabasa_dummy        	1c		-		-		-	
0e7	CarA2                 	e		-		-		-	
0e8	CarA3                 	e		-		-		-	
0e9	Hwanwan               	10		-		8		-	
0ea	HeyhoBallGBA          	20		-		-		-	
0eb	Twanwan               	1e		-		8		-	
0ec	cruiserR              	-		-		-		-	
0ed	bird                  	-		-		-		-	
0ee	sin_itembox           	-		-		-		-	
0ef	Twanwan_ue            	10		-		8		-	
0f0	BossHanachan          	1b		-		-		-	
0f1	Kdossunc              	8		8		8		8	
0f2	BossHanachanHead      	1b		-		-		-	
0f3	K_bomb_car1           	20		-		-		-	
12d	dummy                 	-		-		-		-	
12e	dokan_sfc             	1a		-		-		-	
12f	castletree1           	-		-		-		-	
130	castletree1c          	1a		1a		1a		1a	
131	castletree2           	-		-		-		-	
132	castleflower1         	-		-		-		-	
133	mariotreeGC           	-		-		-		-	
134	mariotreeGCc          	1a		1a		1a		1a	
135	donkytree1GC          	-		-		-		-	
136	donkytree2GC          	1a		1a		1a		1a	
137	peachtreeGC           	-		-		-		-	
138	peachtreeGCc          	1a		1a		1a		1a	
139	npc_mii_a             	-		-		-		-	
13a	npc_mii_b             	-		-		-		-	
13b	npc_mii_c             	-		-		-		-	
13c	obakeblockSFCc        	8		8		8		8	
13d	WLarrowGC             	-		-		-		-	
13e	WLscreenGC            	-		-		-		-	
13f	WLdokanGC             	1a		1a		1a		1a	
140	MarioGo64c            	1a		1a		1a		1a	
141	PeachHunsuiGC         	-		-		-		-	
142	kinokoT1              	8		8		8		8	
143	kinokoT2              	8		8		8		8	
144	pylon01               	17		-		-		-	
145	PalmTree              	1a		1a		1a		1a	
146	parasol               	1a		1a		1a		1a	
147	cruiser               	-		-		-		-	
148	K_sticklift00         	-		-		-		-	
149	heyho2                	-		-		-		-	
14a	HeyhoTreeGBAc         	1a		1a		1a		1a	
14b	MFaceBill             	-		-		-		-	
14c	truckChimSmk          	-		-		-		-	
14d	MiiObj01              	-		-		-		-	
14e	MiiObj02              	-		-		-		-	
14f	MiiObj03              	-		-		-		-	
150	gardentreeDS          	-		-		-		-	
151	gardentreeDSc         	-		-		-		-	
152	FlagA1                	-		-		-		-	
153	FlagA2                	-		-		-		-	
154	FlagB1                	-		-		-		-	
155	FlagB2                	-		-		-		-	
156	FlagA3                	-		-		-		-	
157	DKtreeA64             	-		-		-		-	
158	DKtreeA64c            	1a		1a		1a		1a	
159	DKtreeB64             	-		-		-		-	
15a	DKtreeB64c            	1a		1a		1a		1a	
15b	TownTreeDSc           	1a		1a		1a		1a	
15c	Piston                	-		-		-		-	
15d	oilSFC                	16		-		-		-	
15e	DKmarutaGCc           	-		-		-		-	
15f	DKropeGCc             	-		-		-		-	
160	mii_balloon           	-		-		-		-	
161	windmill              	-		-		-		-	
162	dossun                	-		-		-		-	
163	TownTreeDS            	-		-		-		-	
164	Ksticketc             	-		-		-		-	
165	monte_a               	-		-		-		-	
166	MiiStatueM1           	-		-		-		-	
167	ShMiiObj01            	-		-		-		-	
168	ShMiiObj02            	-		-		-		-	
169	ShMiiObj03            	-		-		-		-	
16a	Hanabi                	-		-		-		-	
16b	miiposter             	-		-		-		-	
16c	dk_miiobj00           	-		-		-		-	
16d	light_house           	-		-		-		-	
16e	r_parasol             	1a		-		-		-	
16f	obakeblock2SFCc       	8		8		8		8	
170	obakeblock3SFCc       	8		8		8		8	
171	koopaFigure           	8		8		8		8	
172	pukupuku              	-		-		-		-	
173	v_stand1              	-		-		-		-	
174	v_stand2              	-		-		-		-	
175	leaf_effect           	-		-		-		-	
176	karehayama            	-		-		-		-	
177	EarthRing             	-		-		-		-	
178	SpaceSun              	-		-		-		-	
179	BlackHole             	-		-		-		-	
17a	StarRing              	-		-		-		-	
17b	M_obj_kanban          	-		-		-		-	
17c	MiiStatueL1           	-		-		-		-	
17d	MiiStatueD1           	-		-		-		-	
17e	MiiSphinxY1           	-		-		-		-	
17f	MiiSphinxY2           	-		-		-		-	
180	FlagA5                	-		-		-		-	
181	CarB                  	-		-		-		-	
182	FlagA4                	-		-		-		-	
183	Steam                 	-		-		-		-	
184	Alarm                 	-		-		-		-	
185	group_monte_a         	-		-		-		-	
186	MiiStatueL2           	-		-		-		-	
187	MiiStatueD2           	-		-		-		-	
188	MiiStatueP1           	-		-		-		-	
189	SentakuDS             	-		-		-		-	
18a	fks_screen_wii        	-		-		-		-	
18b	KoopaFigure64         	b		-		-		-	
18c	b_teresa              	-		-		-		-	
18d	MiiStatueDK1          	-		-		-		-	
18e	MiiKanban             	-		-		-		-	
18f	BGteresaSFC           	-		-		-		-	
191	kuribo                	a		-		-		-	
192	choropu               	d		-		-		-	
193	cow                   	e		-		-		-	
194	pakkun_f              	e		-		-		-	
195	WLfirebarGC           	b		-		-		-	
196	wanwan                	10		-		8		-	
197	poihana               	15		-		-		-	
198	DKrockGC              	19		-		-		-	
199	sanbo                 	a		-		-		-	
19a	choropu2              	d		-		-		-	
19b	TruckWagon            	19		-		-		-	
19c	heyho                 	a		-		-		-	
19d	Press                 	8		-		8		-	
19e	Press_soko            	11		-		8		-	
19f	pile                  	1a		1a		1a		1a	
1a0	choropu_ground        	18		-		-		-	
1a1	WLfireringGC          	b		-		-		-	
1a2	pakkun_dokan          	1a		1a		1a		1a	
1a3	begoman_spike         	13		13		13		13	
1a4	FireSnake             	b		-		-		-	
1a5	koopaFirebar          	b		-		-		-	
1a6	Epropeller            	14		-		14		-	
1a7	dc_pillar_c           	19		8		8		8	
1a8	FireSnake_v           	b		-		-		-	
1a9	honeBall              	b		-		-		-	
1aa	puchi_pakkun          	a		-		-		-	
1ab	sanbo_big             	10		-		-		-	
1ac	sanbo_big             	10		-		-		-	
1f5	kinoko_ud             	-		-		-		-	
1f6	kinoko_bend           	-		-		-		-	
1f7	VolcanoRock1          	-		-		-		-	
1f8	bulldozer_left        	-		-		-		-	
1f9	bulldozer_right       	-		-		-		-	
1fa	kinoko_nm             	-		-		-		-	
1fb	Crane                 	-		-		-		-	
1fc	VolcanoPiece          	-		-		-		-	
1fd	FlamePole             	-		-		-		-	
1fe	TwistedWay            	-		-		-		-	
1ff	TownBridgeDSc         	-		-		-		-	
200	DKship64              	8		8		8		8	
201	kinoko_kuki           	1a		1a		1a		1a	
202	DKturibashiGCc        	-		-		-		-	
203	FlamePoleEff          	d		-		-		-	
204	aurora                	-		-		-		-	
205	venice_saku           	-		-		-		-	
206	casino_roulette       	-		-		-		-	
207	BossField01_OBJ1      	-		-		-		-	
208	dc_pillar             	-		-		-		-	
209	dc_sandcone           	-		-		-		-	
20a	venice_hasi           	-		-		-		-	
20b	venice_gondola        	8		8		8		8	
20c	quicksand             	-		-		-		-	
20d	bblock                	-		-		-		-	
20e	ami                   	-		-		-		-	
20f	M_obj_jump            	-		-		-		-	
210	starGate              	-		-		-		-	
211	RM_ring1              	-		-		-		-	
212	FlamePole_v           	d		-		-		-	
213	M_obj_s_jump          	-		-		-		-	
214	InsekiA               	-		-		-		-	
215	InsekiB               	-		-		-		-	
216	FlamePole_v_big       	d		-		-		-	
217	Mdush                 	-		-		-		-	
218	HP_pipe               	-		-		-		-	
219	DemoCol               	-		-		-		-	
21a	M_obj_s_jump2         	-		-		-		-	
21b	M_obj_jump2           	-		-		-		-	
259	DonkyCannonGC         	8		8		8		8	
25a	BeltEasy              	-		-		-		-	
25b	BeltCrossing          	-		-		-		-	
25c	BeltCurveA            	-		-		-		-	
25d	BeltCurveB            	-		-		-		-	
25e	escalator             	-		-		-		-	
25f	DonkyCannon_wii       	8		8		8		8	
260	escalator_group       	-		-		-		-	
261	tree_cannon           	8		8		8		8	
2bd	group_enemy_b         	-		-		-		-	
2be	group_enemy_c         	-		-		-		-	
2bf	taimatsu              	-		-		-		-	
2c0	truckChimSmkW         	-		-		-		-	
2c1	Mstand                	-		-		-		-	
2c2	dkmonitor             	-		-		-		-	
2c3	group_enemy_a         	-		-		-		-	
2c4	FlagB3                	-		-		-		-	
2c5	spot                  	-		-		-		-	
2c6	group_enemy_d         	-		-		-		-	
2c7	FlagB4                	-		-		-		-	
2c8	group_enemy_e         	-		-		-		-	
2c9	group_monte_L         	-		-		-		-	
2ca	group_enemy_f         	-		-		-		-	
2cb	FallBsA               	-		-		-		-	
2cc	FallBsB               	-		-		-		-	
2cd	FallBsC               	-		-		-		-	
2ce	volsmk                	-		-		-		-	
2cf	ridgemii00            	-		-		-		-	
2d0	Flash_L               	-		-		-		-	
2d1	Flash_B               	-		-		-		-	
2d2	Flash_W               	-		-		-		-	
2d3	Flash_M               	-		-		-		-	
2d4	Flash_S               	-		-		-		-	
2d5	MiiSignNoko           	-		-		-		-	
2d6	UtsuboDokan           	-		-		-		-	
2d7	Spot64                	-		-		-		-	
2d8	DemoEf                	-		-		-		-	
2d9	Fall_MH               	-		-		-		-	
2da	Fall_Y                	-		-		-		-	
2db	DemoJugemu            	-		-		-		-	
2dc	group_enemy_a_demo    	-		-		-		-	
2dd	group_monte_a_demo    	-		-		-		-	
2de	volfall               	-		-		-		-	
2df	MiiStatueM2           	-		-		-		-	
2e0	RhMiiKanban           	-		-		-		-	
2e1	MiiStatueL3           	-		-		-		-	
2e2	MiiSignWario          	-		-		-		-	
2e3	MiiStatueBL1          	-		-		-		-	
2e4	MiiStatueBD1          	-		-		-		-	
2e5	Kamifubuki            	-		-		-		-	
2e6	Crescent64            	-		-		-		-	
2e7	MiiSighKino           	-		-		-		-	
2e8	MiiObjD01             	-		-		-		-	
2e9	MiiObjD02             	-		-		-		-	
2ea	MiiObjD03             	-		-		-		-	
2eb	mare_a                	-		-		-		-	
2ec	mare_b                	-		-		-		-	
2ed	EnvKareha             	-		-		-		-	
2ee	EnvFire               	-		-		-		-	
2ef	EnvSnow               	-		-		-		-	
2f0	M_obj_start           	-		-		-		-	
2f1	EnvKarehaUp           	-		-		-		-	
2f2	M_obj_kanban_y        	-		-		-		-	
2f3	DKfalls               	-		-		-		-	

LE-CODE

Lecode-ver-36x160.png

Track authors can include an own version of GeoHitTableKart.bin in the SZS file of the track. Create a sub-directory ./Common/ and copy the file into the directory.

At the moment, only distributions using LE-CODE recognize this file. See LE-CODE Track FAQ and LE-CODE Distribution FAQ for details.


Tools

The following tools can handle GeoHitTableKart.bin: