Post by Tomalla on Jul 22, 2016 11:57:41 GMT -8
One day I've decided to find out what the naming pattern for secret levels actually is. After a week-or-so of research I can finally say that secret levels are, well, not really that secret after all. When the name of the only secret level was revealed (LEVEL101.WWD) the first assumption was that it's simply the level number increased by 100.
That was the correct assumption.
I've updated the GRUNTZ.REZ archive with the file LEVEL102.WWD and I have successfully loaded the level via the SecretLevelTrigger from the second level in the Rocky Roadz area. The same applies to every other level in all the areas. Standard levels have IDs 01-32 (01 - 04 are the Rocky Roadz levels, 05 - 08 are the Gruntziclez levels and so on) and thus all the secret levels have names LEVEL101.WWD - LEVEL132.WWD (of course the files themselves should be placed in their corresponding AREA# folders).
Why NO ONE has ever succeeded at applying custom secret levels with such simple and obvious naming pattern - I have genuinely no idea. My only assumption is, that the files were injected to the archive with lowercase names - the game engine is case sensitive when loading the archive from disk to memory. Any change to the name LEVEL###.WWD will result in this level not being loaded properly. So watch out for that. If that was the case ... ah well. It'd be quite embarrassing to know that for so many years the Gruntz community was convinced there was a problem with the naming pattern while it was just a matter of a simple typo.
As a side note, since I made secret levels finally work, I've decided to experiment with them a little. And so:
Happy Gruntzing people. One of the greatest mysteries has just been solved!
Cheers
That was the correct assumption.
I've updated the GRUNTZ.REZ archive with the file LEVEL102.WWD and I have successfully loaded the level via the SecretLevelTrigger from the second level in the Rocky Roadz area. The same applies to every other level in all the areas. Standard levels have IDs 01-32 (01 - 04 are the Rocky Roadz levels, 05 - 08 are the Gruntziclez levels and so on) and thus all the secret levels have names LEVEL101.WWD - LEVEL132.WWD (of course the files themselves should be placed in their corresponding AREA# folders).
Why NO ONE has ever succeeded at applying custom secret levels with such simple and obvious naming pattern - I have genuinely no idea. My only assumption is, that the files were injected to the archive with lowercase names - the game engine is case sensitive when loading the archive from disk to memory. Any change to the name LEVEL###.WWD will result in this level not being loaded properly. So watch out for that. If that was the case ... ah well. It'd be quite embarrassing to know that for so many years the Gruntz community was convinced there was a problem with the naming pattern while it was just a matter of a simple typo.
As a side note, since I made secret levels finally work, I've decided to experiment with them a little. And so:
- I put a SecretLevelTrigger in a secret level itself and triggered it. Unfortunately it didn't jump to the level named LEVEL2##.WWD as I had hoped - it just reloaded the same secret level I was in. The game remembers the original ID of the base level. If the player fails in the secret level, the original base level is then loaded. So under the hood the player is actually still in the base level when playing a secret level.
- The training levels also have a unique ID, just like the levels 01-32. Those IDs are ... 37-40 and the game uses them internally. If you decide to put SecretLevelTriggers in those levels and decide to (coincidentally) trigger them, the game would then load one of the levels named LEVEL137.WWD - LEVEL140.WWD.
Happy Gruntzing people. One of the greatest mysteries has just been solved!
Cheers