Pages: 1
Posted on 10-03-15, 08:48 pm (rev. 3 by ImageBot on 11-21-16, 03:17 am)
☭ coffee and cream


Karma: 10415
Posts: 1785/2768
Since: 06-26-11
some investigations and whatnot on that


the following crash happens:



R2 and R6 are the nybble's value

PC=0xFFFFFFFF seems to hint it's an out-of-bounds read, not sure tho



it calls function at 02004598

function at 020045F8 is (indirectly?) responsible for the crash
commenting out the call causes the sprite to spawn two(!) chomps, freeing them freezes the game


silly me



ROM:02172A68 LDR R0, [R5,#8] ROM:02172A6C AND R6, R0, #0xF ROM:02172A70 CMP R6, #1 ROM:02172A74 BLS loc_2172A7C ROM:02172A78 BL OS_Panic ROM:02172A7C ROM:02172A7C loc_2172A7C ; CODE XREF: sub_21729CC+A8j


it basically reads that nybble and checks it, and purposefully crashes if it's above 1


that nybble tells how many Chomps you want
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-03-15, 09:19 pm (rev. 5 by  Hiccup on 10-03-15, 09:44 pm)
Birdo


Karma: 2754
Posts: 1463/2091
Since: 06-26-11
Really interesting!
Posted on 10-03-15, 09:21 pm (rev. 1 by  Arisotura on 10-03-15, 09:23 pm)
☭ coffee and cream


Karma: 10415
Posts: 1786/2768
Since: 06-26-11
I commented out the crash line and set the nybble to 7 and this happened:



along with pretty bad slowdown


the game crashes if you try to free them, btw
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-03-15, 09:32 pm
Birdo


Karma: 2754
Posts: 1464/2091
Since: 06-26-11
So the nybble is the number of chomps then?

I'll add that to the sprdb.

Do you know if the "unchained chomp" actor is spawned by the chain chomp actor?
Posted on 10-03-15, 09:33 pm
☭ coffee and cream


Karma: 10415
Posts: 1787/2768
Since: 06-26-11
I don't know, but I'd rather do it the other way around, considering the chain chomp sprite is basically "pole + X chomps".
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-03-15, 09:38 pm (rev. 3 by  Hiccup on 10-03-15, 09:45 pm)
Birdo


Karma: 2754
Posts: 1465/2091
Since: 06-26-11
What do you mean rather do it the other way round? You mean if you were Nintendo? I'm not sure if you are saying chain chomp does spawn unchained chomp or not

Also I wonder why it crashes when you fully push the stake in. Another purposful crash?
Posted on 10-03-15, 10:09 pm
☭ coffee and cream


Karma: 10415
Posts: 1788/2768
Since: 06-26-11
I don't think they're related in that way though, considering their behaviors are different.


That one crash doesn't seem to be purposeful. I can't trigger the debug screen from it.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-09-15, 02:32 pm
Giant Red Koopa


Karma: 886
Posts: 1292/1315
Since: 11-12-12
That is just sooo cool looking!

I think this might have some uses, if you can figure out why it crashes

One question though, why do you think they would make it intentionally crash? Especially since this was once used in an old level...
Posted on 10-09-15, 02:41 pm
☭ coffee and cream


Karma: 10415
Posts: 1795/2768
Since: 06-26-11
I guess it was considered 'too much trouble' to make multiple Chomps work together in a non-messy way. So they just blocked it.
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-09-15, 03:33 pm
Birdo


Karma: 2754
Posts: 1473/2091
Since: 06-26-11
That also supports the theory they placed sprite 0 in some (or was it all?) the unused levels, to stop them being used/developed further.
Posted on 10-09-15, 03:37 pm
☭ coffee and cream


Karma: 10415
Posts: 1796/2768
Since: 06-26-11
Those are probably just leftover entries.


The beta had different sprites, like for example the checkpoint rings. Those sprites are gone from the levels that used them. As well as the pipe cannons for some reason.

(and it appears that those were different too)
_________________________
Kuribo64 - RH-fucking-cafe - Kafuka

zrghij
Posted on 10-09-15, 03:42 pm
Birdo


Karma: 2754
Posts: 1474/2091
Since: 06-26-11
Yep, pipe cannons were definitely different. Maybe those sprite 0s are the missing objects with all values (including location) set to 0.
Pages: 1