If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:MediEvil/Rolling Demo

From The Cutting Room Floor
Jump to navigation Jump to search

This is a sub-page of Proto:MediEvil.

MediEvil-Rolling-Demo-Screen.png
So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?

The prototype of MediEvil was released on October 17, 1997 as part of the Registered User Demo 02 disc. Files on the disc suggest the demo finished development around August 14, 1997.

Unused Notice Screen

MediEvil-Rolling-Demo-Notice.png

On function 800248a8 there's a switch case for selecting the screens shown at the start of the demo, however the first entry is never used. We can replace the address of the second entry (the "Presents" screen) with the first entry's address, by applying this Game Shark code:

D0096864 800D
800ABC48 48FC
(Source: Original TCRF research)

Cheat Codes

Because the player cannot play this rolling demo of the game normally, cheats are required to make any progress in this demo.

Effect Code Description
Player-controlled Dan
D0096864 800D
300D4490 0000

Gain control over Dan

Cheat Mode
D0096864 800D
300CFCEC 0001

Extends pause menu with DEBUG1 menu

Extended Cheat Mode
D0096864 800D
300CFCEC 0002

Extends pause menu with DEBUG2 menu,
which also includes all entries from DEBUG1

Default Button Layout
D0096864 800D
800D0818 27F8

Equivalent to CONTROL SETTINGS = "Digital - 0",
however there's some conditional logic
in function 800271c4 that may prevent
this option from being shown

(Source: Hacc)

Debug Menus

Hmmm...
To do:
Document the remaining entries.

When either DEBUG1 or DEBUG2 are activated, the current camera mode is displayed at the bottom-right of the screen.

Modes can be switched by pressing Select, however Free and Fixed can only be set from the pause menu.

Available modes:

Camera mode Image Notes
Spline MediEvil-Rolling-Demo-CameraModeSpline.png Default mode
Overhead MediEvil-Rolling-Demo-CameraModeOverhead.png
Head-set MediEvil-Rolling-Demo-CameraModeHeadSet.png
Chase MediEvil-Rolling-Demo-CameraModeChase.png
Free / Free (sus) MediEvil-Rolling-Demo-CameraModeFree.png Gain control of camera position;
Free (sus) also suspends
movement from Dan and enemies
Fixed MediEvil-Rolling-Demo-CameraModeFixed.png Allows moving Dan without updating
the camera position

TESTCARD shows color bars:

MediEvil-Rolling-Demo-TestCard.png

SHOW VRAM shows textures in memory:

MediEvil-Rolling-Demo-ShowVRAM.png

Some menu entries are missing logic, but don't show the description "Not available":

  • GATSO
  • SHOW MEM STATUS
  • GRAB SCREEN

To verify these, let's check for example SHOW MEM STATUS, which contains these fields:

800b66b4 20 b7 0a 80     addr       s_SHOW_MEM_STATUS_800ab720 = "SHOW MEM STATUS"
800b66b8 a4 b7 0a 80     addr       s_%jcX_to_enter._800ab7a4 = "%jcX to enter."
800b66bc 6c 7e 02 80     addr       LAB_80027e6c ; handler subroutine address
[...]
800b66cc 02 00 00 00     ddw        2h ; cheat level required to display entry

The corresponding handler is just a no-op:

80027e6c 08 00 e0 03     jr         ra
80027e70 00 00 00 00     _nop

But the handler address is not followed by an address for a description subroutine (only null bytes up to 800b66cc), usually implemented as:

80027238 0b 80 02 3c     lui        v0,0x800b
8002723c 8c 68 42 24     addiu      v0=>PTR_s_%jrNot_available_800b688c,v0,0x688c    = 800abba4
80027240 08 08 82 af     sw         v0=>PTR_s_%jrNot_available_800b688c,0x808(gp)    = 800abba4
80027244 08 00 e0 03     jr         ra
80027248 00 00 00 00     _nop
(Source: Original TCRF research)

Gameplay Mechanics

As expected, the game is more simplistic and arcade-y. Health is measured by the few green bones you collect, and lives are represented traditionally by how many Dans you have left. Instead of a Chalice of Souls, there is a standard scoring system for the enemies you take down. When an enemy is killed, their point worth is shown, but their soul still flies up and away. Lastly, the game uses "tank controls" to move Daniel around. It doesn't seem like sidestepping was implemented, either.

Item Differences

These models are stored as MOF files inside the WAD container file "medres.mwd". These can be ripped with FrogLord. They are identified by their file entry index in the corresponding WAD.

Club

Rolling Demo Retail (SCUS-94227) Description
MediEvil-Rolling-Demo-MOF-12.png
Index: 12
MediEvil-SCUS-94227-MOF-44.png
Index: 44
The Club had some gore
that was removed in later versions.

Unused Items

Trident

Icon Model Description
??px

Offset: 0x97e4
MediEvil-Rolling-Demo-MOF-23.png

Index: 23
The Trident has a melee lunge attack and
would've been similar in use to the Lightning.
It is also nearly identical to Zarok's own trident.

Potions

Potions are collectible items used to affect enemies. The following can be obtained in-game:

Name Model Description
Serpent Potion MediEvil-Rolling-Demo-MOF-31.png
Index: 31
Summons Kul Katura the Serpent Lord upon being picked up.
In the final game, this potion gets used for the Dragon Armor item.
Shrink Potion MediEvil-Rolling-Demo-MOF-33.png
Index: 33
Temporarily shrinks enemies that are near the player.
However, it's only partially implemented,
since enemies still cause damage when colliding with the player.
In the ECTS demo, enemies are instead crushed by the player.
Power-Up Potion MediEvil-Rolling-Demo-MOF-34.png
Index: 34
Can either create a protective shield,
protective force shield that hurts enemies,
or power up the player's weapon.

Other potions listed below are not found in any levels of the demo, but they are referenced in the object table entry at address 0x800b7498.

Name Model Description
Growth Potion MediEvil-Rolling-Demo-MOF-28.png
Index: 28
Causes Daniel to grow in enormous size
and makes him invulnerable to enemies' damaging attacks.
This lasts for only a few seconds.
It also switches the wielded weapon to the Magic Sword.
Misc Potion 1 MediEvil-Rolling-Demo-MOF-29.png
Index: 29
No visible effect when obtained.
Misc Potion 2 MediEvil-Rolling-Demo-MOF-30.png
Index: 30
No visible effect when obtained.
Misc Potion 3 MediEvil-Rolling-Demo-MOF-32.png
Index: 32
No visible effect when obtained.
Name Timed Demo Icon Rolling Demo Model Description
Dragon Potion
??px

Offset: 0xe87c
MediEvil-Rolling-Demo-MOF-27.png

Index: 27
There is an early model of the Dragon Potion/Armor
matching its overall appearance
to its early inventory icon.
No visible effect when obtained.

To load any of these potions in-game, we can replace chests using the following GameShark codes:

D0096864 800D
80034840 FC00
80034842 0807
80034844 0000
80034846 0000
801FF000 0004
801FF002 8270
801FF004 0004
801FF006 3403
801FF008 0004
801FF00A 1470
801FF00C 0007
801FF00E 3403
801FF010 0004
801FF012 A263
801FF014 00XX
801FF016 3403
801FF018 0006
801FF01A A263
801FF01C 0004
801FF01E 9662
801FF020 D212
801FF022 0800
801FF024 0000
801FF026 0000

Where XX is one of the following values:

Value Description
00 Dragon
01 Serpent
02 Power-Up
03 Misc 3
04 Growth
05 Misc 1
06 Shrink
07 Misc 2
(Source: SolidSnake11 (initial discovery), QUFB (GameShark codes))

Test Models

Unused Enemies

Uncle Mad

These skinny guys are encountered in The Sleeping Village level, but can only be spotted inside the buildings. They are intoxicated fellows sitting against a wall and can either throw green bottles at the player or bash with their club if approached.

Levels

Hmmm...
To do:
There are loads of level differences to put here.

In this prototype, there are more than just 22 levels (also including the "Title Level" and the Programmer's Playground, even though both are unplayable). However, half of them are unplayable:

  • Cemetery Hill
  • The Pumpkin Serpent
  • Inside the Asylum
  • The Enchanted Earth
  • The Lake
  • The Crystal Caves
  • The Gallows Gauntlet
  • The Entrance Hall
  • Zarok's Lair

Only ten levels are playable:

  • The Graveyard
  • The Hilltop Mausoleum
  • Scarecrow's Fields
  • Pumpkin Gorge
  • The Sleeping Village
  • Pools of the Ancient Dead
  • The Asylum Grounds
  • The Haunted Ruins
  • The Ghost Ship

Dan's Crypt and The Time Device weren't planned yet.

Differences From the Final

The Sleeping Village

Killing the possessed townsfolk is fine and even adds to the score.

The water is unfinished and is set up like walkable terrain.

The Asylum Grounds

When the player enters the hole after completing the chessboard puzzle, the level doesn't end. Instead the player falls into an underground tunnel where a rune can be found. After returning above ground, the gate behind the chessboard opens leading to a building which resembles the one seen in the unused FMV 7AV. This can be seen [here]. Presumably this is where the cut level featuring the Morten the Worm would take place.

Scrapped Levels

Other levels were completely scrapped from the final game's release, although none of these actually have any other content in this build. The unused levels are listed as follows:

  • The Coffin Vaults
  • The Fields of Dust
  • The River
  • The Muddy Riverbank
  • The Mud Slide
  • Circle of Shadows
  • The Silver Wood
  • The Halls of Illusion
  • The Hub
  • The Great Machine

Placeholder Textures

Several of these textures can be found in file "medres.mwd". These can be ripped with a script. Some of them are shown below, along with their starting offsets in the resource file.

MediEvil-Rolling-Demo-0x13ff00.png
Offset: 0x13ff00 (stored along with graphics of the "Title Level" intro)
MediEvil-Rolling-Demo-0x7e30a0.png
Offset: 0x7e30a0
MediEvil-Rolling-Demo-0x827f30.png
Offset: 0x827f30
MediEvil-Rolling-Demo-0x831b64.png
Offset: 0x831b64

Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x7ea824.png
Offset: 0x7ea824
MediEvil-SCUS-94227-0x172552c.png
Offset: 0x172552c
Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x7ef1a4.png
Offset: 0x7ef1a4
MediEvil-SCUS-94227-0x1729eac.png
Offset: 0x1729eac
Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x7794b8.png
Offset: 0x7794b8
MediEvil-SCUS-94227-0x173a0b4.png
Offset: 0x173a0b4

Weapons

Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x009e64.png
Offset: 0x009e64
MediEvil-SCUS-94227-0x00f1f8.png
Offset: 0x00f1f8
Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x00d904.png
Offset: 0x00d904
MediEvil-SCUS-94227-0x010cbc.png
Offset: 0x010cbc
Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x00dc44.png
Offset: 0x00dc44
MediEvil-SCUS-94227-0x010434.png
Offset: 0x010434
Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x00efc4.png
Offset: 0x00efc4
MediEvil-SCUS-94227-0x0109ec.png
Offset: 0x0109ec
Rolling Demo Retail (SCUS-94227)
MediEvil-Rolling-Demo-0x00f304.png
Offset: 0x00f304
MediEvil-SCUS-94227-0x013a84.png
Offset: 0x013a84

Unused Textures

These textures don't map to any models in "medres.mwd". We can confirm this in FrogLord, where VLO files 331 and 375 map to WAD files 332 and 376, which are both empty (32 bytes followed by null bytes up to the next file offset). Both textures and models were included in the ECTS demo.

MediEvil-Rolling-Demo-0x74e500.png
Offset: 0x74e500
Dragon and background of "The Silver Wood" level (a.k.a. Jabberwocky chase level).

MediEvil-Rolling-Demo-0x7c72cc.png
Offset: 0x7c72cc
Unknown Dan transformations of "The Halls Of Illusion" level.

Animations

Death Animation

The death animation used when Daniel loses a life is identical to the one used when Daniel loses his final life, this is unlike the retail release which uses separate animations for the former and latter situations.

Sneaking Animation

With CONTROL SETTINGS = "Digital - 0" set in the pause menu, pressing Up + L1 makes Daniel perform a "sneak" animation while walking slowly.

Music

There are a total of four songs used for the rolling demo. During gameplay, however, each song stops playing after half of a minute rather than looping. The music is mostly identical to those used for the game's final build, but with slight differences and ending sooner. They are also used for some later demos.

  • Menu - A shorter version of the music for The Crystal Caves. It is used for The Hilltop Mausoleum, The Haunted Ruins, and The Ghost Ship.
  • The Cemetery - A shorter version of the Scarecrow Fields music. It is used for The Graveyard and The Asylum Grounds.
  • Unused - A shorter version of the Dan's Crypt music. It is used for The Ant Caves, The Sleeping Village, and Pools of the Ancient Dead.
  • The Hilltop Mausoleum - A shorter and different version of the Return to the Graveyard music. It is used for Scarecrow Fields and the Pumpkin Gorge level.

Loading Screen

Proto Final
MediEvil-Proto-Loading.png MediEvil-Loading EU.png

The early loading screen contains an image of a scarecrow as seen in one of the FMVs, with smaller "LOADING" text below it.