Updated.Added suport to angle/curve data and the code is optimized.Now it uses offset indexes. Updated again.Some bugs fixed,now is 100% stable. This is a simple hack that allows you to use different collision arrays for each level.The system is simple.There is a pointer to each level, (by default pointing to the main collision arrays) you just have to change it to point to somewhere in the rom (usually the end) and there paste your collision array for that level.The rom isn't shifted so you can use it without problems.Now,these are all the pointers: GHZ: Primary:$80036 Secondary:$8004e Angle/Curve:$80066 MZ: Primary:$8003a Secondary:$80052 Angle/Curve:$8006a SYZ: Primary:$8003e Secondary:$80056 Angle/Curve:$8006e LZ: Primary:$80042 Secondary:$8005a Angle/Curve:$80072 SLZ: Primary:$80046 Secondary:$8005e Angle/Curve:$80076 SBZ: Primary:$8004a Secondary:$80062 Angle/Curve:$8007a Download (right click,save as...)
You also need each level to have its own pointer for angle/curve mapping data, otherwise using a non-S1 array would be pointless.