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

Proto:Disney's Donald Duck: Goin' Quackers (Windows)

From The Cutting Room Floor
Jump to navigation Jump to search

This page details one or more prototype versions of Disney's Donald Duck: Goin' Quackers (Windows).

Hmmm...
To do:
  • The executable Donald.exe is full of references to debug tools and a menu. Is it possible to activate these? Note that it runs on the same engine as Rayman 2.

The Donald Duck Demo was included in various demo discs from Mickey Mouse magazines and more. It has several differences between the final. Only 4 levels can be played in the demo. It can be downloaded from here: http://kuribo64.net/board/thread.php?id=3352

General

The game's executable is 2157 kb in size while the final version is just 681 kb.

Proto Final
DonaldDuckGoinQuackers-TitlePROTO.png DonaldDuckGoinQuackers-TitleUS.png

Donald Duck Goin Quackers was simply named "Donald Duck Demo" and it also had a simple copyright.

Proto Final
DonaldDuckGQ-Language-PROTO.png DonaldDuckGQ-Language-FINAL.png
Proto Final
DonaldDuckGQ-Menu-PROTO.png DonaldDuckGQ-Menu-FINAL.png

Only three languages could be selected and Gyro's house looks different and unfinished.

Proto Final
DonaldDuckGQ-HUD-PROTO.png DonaldDuckGQ-HUD-FINAL.png

The HUD had a more mechanic design that was changed drastically in the final. The golden warp pad was absent in the HUD.

Proto Final
DonaldDuckGQ-Pause-PROTO.png DonaldDuckGQ-Pause-FINAL.png
Hmmm...
To do:
On the final game's data, the string "DDPC991119-v0002" can be found at the top. This may still be true here, on the proto, since the Pause Screen doesn't show the full image in-game. Add extra information regarding the "off-screen" information if that's the case.
Proto Final
DonaldDuckGQ-YellowStar-PROTO.gif DonaldDuckGQ-YellowStar-FINAL.gif
Proto Final
DonaldDuckGQ-BlueStar-PROTO.gif DonaldDuckGQ-BlueStar-FINAL.gif
Proto Final
DonaldDuckGQ-RedStar-PROTO.gif DonaldDuckGQ-RedStar-FINAL.gif
  • The One-Ups had no animation yet and were static.
  • The warp pads had a different animation; It changes to black instead of changing back to the gray texture, when entering it.

Level Differences

First Avenue

Proto Final
DonaldDuckGQ-City1-PROTO.png DonaldDuckGQ-City1-FINAL.png

The electric areas were darker and some planks were thicker. Some walls and fences were changed and some lamps were moved arround.

Many of the enemies had a different model, including the painter and the criminal trash can.

The background was also absent and used a light blue color instead.

Proto Final
DonaldDuckGQ-CityCar-PROTO.png DonaldDuckGQ-CityCar-FINAL.png

The car had a different design. In the final, it was changed to a blue and red theme to present Scrooge McDuck's car.

Proto Final
DonaldDuckGQ-City2-PROTO.png DonaldDuckGQ-City2-FINAL.png

The little balcony to the room with the golden warp pad is not present.

Proto Final

The music has a slightly different instrumentation, a longer melody in the beginning and a different crash noice heard at 1:47 (1:30 for the final) that was changed in the final.

Urban High-Rises

Careful, you'll lose an eye.
This page or section needs more images.
There's a whole lotta words here, but not enough pictures. Please fix this.
  • Some textures were different
  • Shading was less detailed
  • The music is different:
Proto Final

A lot of the beat was missing and the instrumentation was slightly different. There was a crash noice heard at 0:49 that was removed in the final. Also the second chapter of the song starts already playing when reaching the first checkpoint while in the final, the chapter starts playing when the first chapter was played two times.

Haunted Hall

Careful, you'll lose an eye.
This page or section needs more images.
There's a whole lotta words here, but not enough pictures. Please fix this.
  • The frankenstein's monsters had a different, less detailed model
  • Same goes for the skeleton hand platform, which also lacked some shading
  • The music is completely different. It appears to be borrowed from the Playstation version:
Proto Final

Creepy Corridor

Proto Final
DonaldDuckGQ-CreepyCorridor1-PROTO.png DonaldDuckGQ-CreepyCorridor1-FINAL.png
  • The area with the golden warp pad was not present.
  • The wooden signs from the coffins had a different texture:
Proto Final
DonaldDuckGQ-cof dangerNZ.gf-PROTO.png DonaldDuckGQ-cof danger.gf-FINAL.png
Proto Final
DonaldDuckGQ-cof goNZ.gf-PROTO.png DonaldDuckGQ-cof go.gf-FINAL.png
  • The music used here is an early version of Earie Alley's theme:
Proto Final

The instrumentation was simpler and lacked some ghostly effects and echoes.

Unused Graphics

Early Rayman 2 Leftovers

A big number of graphics of an early Rayman 2. Some of them still exist in some proto and final versions of Rayman 2.

Early Icons

HUD

DonaldDuckGQproto-jauge2 nz.gf.png
DonaldDuckGQproto-Rayman2meter.png
DonaldDuckGQproto-Rayman2numbersBIG.png
DonaldDuckGQproto-Rayman2numbersSMALL.png Rayman 2 Boul energy anu.gf.tga.png
Rayman 2 Bulle anu.gf.tga.png
Rayman 2 Coeur anu.gf.tga.png
Rayman 2 Poing anu.gf.tga.png
Rayman 2 Reveil anu.gf.tga.png
Rayman 2 Interro anu.gf.tga.png
Rayman 2 Serrure cage anu.gf.tga.png

Most likely an early HUD. The wooden vertical meter can still be found in an updated form unused in the final version of Rayman 2. The last 7 icons also exist unchanged and unused in the final.

The horizontal yellow and red bar were later used for the music and sound settings in Donald Duck: 'Goin Quackers.

Shoot Effect

DonaldDuckGQproto-megashoot ico mxy.gf.png

A shiny shooting effect which is meant to be copied and flipped around like this:

DonaldDuckGQproto-megashoot ico mxy.gf-COMBINED.png

Early Graphics

Early Boss Icons

Proto Final
DonaldDuckGQ-BigbirdPOST.gf-PROTO.png DonaldDuckGQ-BigbirdPOST.gf-FINAL.png
Proto Final
DonaldDuckGQ-beaglePOST.gf-PROTO.png DonaldDuckGQ-beaglePOST.gf-FINAL.png
Proto Final
DonaldDuckGQ-magicapost.gf-PROTO.png DonaldDuckGQ-magicapost.gf-FINAL.png
Proto Final
DonaldDuckGQ-merlockpost.gf-PROTO.png DonaldDuckGQ-merlockpost.gf-FINAL.png

Earlier icons for the bosses can be found. They all had a lower pixel resolution.

Some of these were later used in the N64 version.

Early Dialogue Icons

Some early dialogue icons. Gladstone's icon got even updated in the final and went simply unused there too. Daisy's icon was later used for Donald's sleeping animation, where a dream cloud appears with her head in the cloud.

DiLog300_origin.gf

DonaldDuckGQ-DiLog300 origin.gf-PROTO.png

The title screen without the "Donald Duck DEMO /1.1" text.

Polices.tga

Rayman 2 Demo Polices.tga.png

An unused font, possibly for debugging features. It also can be found in an early Rayman 2.

Unused Text

The executable is full with developer messages, error strings and debug texts. Interestingly there are also mentions about a "Dynamic Mode".

Developer messages

You are not allow to use another group to the default

You try to release the default channel (0), you not allow to do that !

Strange, the number of free was not valid.
The debug function TestMalloc has repaired this data.
Please warn the developper of Mmg to fix the Bug

Strange, you have request a free with a NULL pointer, please change that

Strange, you have request an allocation of 0 Byte, the return value Will be NULL, please change
Can not free the Block (in Mmg_fn_vDeleteblock)
The number of requested allocation are too high, the debug information memory is full

Can not allocate (the block is full)

The Static memory address is not valid (not referenced in the debug table), or using a wrong static block

The dynamic memory address is not valid (not referenced in the debug table)
Can not allocate dynamic memory (in fn_p_vDynAlloc),
the system function for allocation failed (return NULL)

Impossible to Allocate the block (in Mmg_fn_vInitblock),
the system function for allocation failed (return NULL)

Can not free the dynamic memory
You can NOT use this function with this kind of block: block without Free management

The last Allocation Overwrite the Remain check Key, just after the p_cMaxMen

The size of the allocation is not compatible with the alignment requested duing the initialization of the block
Problem the Mmg_M_SetModeAlloc is not appropriate 
Example: you try to use Dynamic memory but Mmg_M_SetModeAlloc is set for the Static memory

You have selected the Dynamic mode.
But __DYNAMIC_MALLOC_ALLOWED__ is not defined

The Mmg initialization have to be done before the Erm initialization

Malloc system failed in Mmg_fn_vInitBlock function

Malloc system failed in InitMmg function

Malloc system failed in FirstInitMmgModule function
Sorry, too much channels are used

Invalid number of channel

You've try to access to the memory through Mmg module.
But the memory have been locked with Mmg_fn_vLockAlloaction!
There is no static memory

The BlockId is impossible

The moduleId is impossible

The address is not a static address
The static block that you try to use, is not valid, it's should be not well initialize !

The virtualAlloc function failed (return NULL). Is that enough memory ??

There is too many allocation

Overflow after an allocation

Overflow before an allocation

Overflow after a static malloc

Overflow before a static malloc
Overflow after a dynamic malloc
Overflow before a dynamic malloc

the dynamic memory allocated is not aligned
(from the 'malloc' system function, in fn_p_vDynAlloc)

Alignment error of the beginning address of my block
(from the 'malloc' system function, in Mmg_fn_vInitblock)

The block tested by testMalloc is not valid, it's should be not initialize !

Mar 12 1998
Memory Manager

MMG V6.0.1

X:\cpa\tempgrp\MMG\CpaMmg.c
Because 0X%X it's not multiple of %d

the size requested (%d) is not a multiple of the alignment(%d)

The key expexted should be 0X%X, but we have 0X%X

the is not enought memory(%db) for the allocation size requested (%d)

there is no free space enougth big (i.e. %db)
,even with the 'added debug information' memory


=> Total Static Memory used for %d Modules/%d : %db (%.2fKb; %.2fMb)



	-> Total Static Memory for the module #%d: %db (%.2fKb; %.2fMb)



		* Block #%d: %db (%.2fKb; %.2fMb) allocated


	-> Static Memory : General Data for %d Block(s) = %d


=> module (#%d) : 

|-----------------------------------------|




| Memory Used for the management of Mmg : |





|-----------------------------------------|



]


]
%s



In [



%s{Memory Channel=%d [0X%X, %d]




%sMemory Channel=Default



], for Static mode (Block #%d)

], for Static mode (Block #%d)
%s


], for Dynamic mode




], for Dynamic mode
%s

�


�


RND
Base Id Card



Camera Id Card

MecMatCharacteristic



Mechanic



IPO structure


PCS structure


Physical CollSet



PO structure



Physical objet

Octree structure



Face index list
Octree node
Tagged face table


Tagged point table

Face index

Element base table

Octree

Visual set

Mip-mapping
Animated texture



Camera

ZList


Police

ZBufferForLight
Global

GLI
ViewPortArray


ObjectType Element

Always Model



Always Generator



Engine Object


Main Char


Font



Always Active char

Morph List

Morph Channels List
List of Maps



BinAnim
SnapShot



LipSynchro

CSO
GAM
Vignette



Speed Matrix



Cutted Anim
Morph Data

Events

Key Frames

FramesKF



Frames

Channels



Only Frames
NTTO



Hierarchy


Quaternions
Vectors
A3dGENERAL

Interpol



BlendRLI



Struct

Array


LOD
Element
Morphing



Main



A3D
3DOS



Collide Material



Miscellaneous file

Tga file



Gf file
Concat file
Bmp file



File



IPT
SAI
Element Cone



Element Aligned Box
Element Sphere

Element Line



Element Point


Element TMeshes
Element FaceMap
Element Indexed triangles


Element Sprite

Bounding Sphere
Rotative Sprite
Parallel Box



List Of Points Material
List Of Edges Material

List Of Edges


List Of Points

List Of Element
List Of ElementTypes



Main Object
IndexByElement

Normales points
GEO
Sound Event
Static Light



Dynamic Light


Sound Element


Active Element

Character Element


Collision Element


Graphic Element
Sector

Super-Object table

Super-Object



Position



AIDebug
GraphNode


Graph


NameOfGraphSection

NameOfGraph
Arc
ListOfArc


NodeVector

NodeString

DsgMem

DsgMemBuffer



DsgVar

DsgVarInfo

Intelligence



ScriptAI



Model


ActionTable
ActionTableEntry



Interpret


Rule



Comport
NodeMacro


Macro


Mind



ZoneSetEncapsulation



CsaListElement

ZoneSetListElement

GeometricZdxListElement
ZdxIndexListElement
ZdxListElement

ObjectTableEvent



ObjectTableElement

ObjectsTableList



Prohibit



Transition

State


Family

MS Magnet


MS AnimEffect


MS Sound



MS PrtSrc


MS Micro



MS SectInfo
MS Light



MS Way

MS CollSet

MS CineInfo
MS Brain



MS Dynamics
MS StdGame

MS 3dData


Mini-structure

Script

Not declared allocation
%i,%03i,%03i



%i,%03i
%i

</BODY>
</HTML>




 bytes ave)
Sub-type # 
Average size of block : 



%s%s%i%s%s%s



 blocks for one structure


%s%s%s%s%s%s%s%s%s%s



Average size of structure : 



 bytes (



%s%s%s%s%s

 (

%s%s%s%s%s%s%s%s%s%s%s%s%s

   &nbsp 



 bytes allocated (

 bytes wasted) in 

%s%s%i%s%s%s%s%s%s

 - 
<b>
</b>



%s%s%s

<A NAME="


"></A>

%s%s



</table>



</TH>


%s %s


 blocks)



 bytes freed)


in 
 structures
(


 bytes wasted)

%s%s%s%s%s%s



<TD ALIGN=RIGHT>



<font size=+2>

 bytes allocated



%s%s%s%s%s%s%s%s%s

<A HREF="#

">

<font size=+1>

</A>



%s%s%s%s%s%i%s

<TR>



<TD>



<font size=-1>

Type # 
</font>
</TD>


%s

<table>
Number of types : %s%i%s%s%s



<font size=+1><b>


%s%s%s%s%s%s%s

<HTML>
<BODY>


<font size=+2><b>


MEMORY DUMP
</b></font>
</p>



<HR>



MemoryDump.htm

			 -> There are %d allocation(s) & %d free(s)

			 ->%.2f%%%% remain i.e %ldb (%.2fKb; %.2fMb) / %ldb (%.2fKb; %.2fMb)




			 ->%.2f%%%% lost for the management of free, i.e %ldb (%.2fKb; %.2fMb) / %ldb (%.2fKb; %.2fMb)


			 ->%.2f%%%% used  for allocation,  i.e %ldb (%.2fKb; %.2fMb) / %ldb (%.2fKb; %.2fMb)




		 --> Current status:

		 --> MaxMen status: The higher allocation




		 --> not valid (should be not initialized)



			 -> %.2f%%%% used i.e %ldb (%.2fKb; %.2fMb) / %ldb (%.2fKb; %.2fMb)

		 --> MaxMen status: The higher address used in this block without Free



	The block #%d:




	The info are not valid !!!




Module Id = %d

===> Without __DEBUG_MALLOC_MODE__ <===




 : <===





===> Print the used Static memory on 





Ó�BÎûÿß?

€?ÿÿÿÿÓ�BÎûÿß?

€?



Ó�BÎûÿß?

€?X:\cpa\tempgrp\PCS\Specif\PhysColl.c







Ó�BÎûÿß?

€?X:\cpa\tempgrp\PO\Specif\PhObjs.c


Ó�BÎûÿß?

€?VS

VSE_HEADER

FichierRLI

FichierMOD

LOD_Threshold






Ó�BÎûÿß?

€?ÿ


 y]
Œy]
€y]
�=]
Dec 04 1997
Physical objects



PO V5.1.0


PHY
PHY_HEADER

BV

AllCollideSets

CS





Ó�BÎûÿß?

€?ZOO_HEADER

ZDD
ZDE
ZDR




Ó�BÎûÿß?

€?X:\cpa\TempGrp\POS\Position.c






Ó�BÎûÿß?

€?�


monitor frequency : %i Hz, CPU frequency : %i Mhz


X:\cpa\tempgrp\PRF\Specif/profile.cxx






Ó�BÎûÿß?

€?

€?X:\cpa\tempgrp\PRT\PrtSrc.c




Ó�BÎûÿß?

€?X:\cpa\tempgrp\PRT\SprtPrt.c







Ó�BÎûÿß?

€?X:\cpa\tempgrp\PRT\SegmtPrt.c






Ó�BÎûÿß?

€?X:\cpa\tempgrp\PRT\PointPrt.c






Ó�BÎûÿß?

€?X:\cpa\tempgrp\PRT\PrtSyst.c







Ó�BÎûÿß?

€?X:\cpa\tempgrp\PRT\PrtEnv.c
Ó�BÎûÿß?

€?X:\cpa\tempgrp\PRT\PrtMeca.c

Strings

Mechanic Allocation Error


%s
to someone.

%s
to an unknown %s.



%s
to %s of the family : %s .


%s
to %s : %s


%s
to %s : %s
of family : %s



actors

actor


always

You must allocate an advanced mechanic

You must allocate complex mechanic

You must allocate a complex mechanic



You must allocate collision
X:\cpa\tempgrp\MEC\DNMDynam.c


Mechanic error

You must select a mechanic in action editor
to actor : %s .




Ó�BÎûÿß?

€?333?Ó�BÎûÿß?

€?



Ó�BÎûÿß?

€?



Ó�BÎûÿß?

€?X:\cpa\tempgrp\MEC\hidcard.c







Ó�BÎûÿß?

€?üÿ?@Ó�BÎûÿß?

€?



Ó�BÎûÿß?

€?



Ó�BÎûÿß?

€?SpeedingUp

LinearSpeed
AngularSpeed



MaxSpeed



TiltOrigin

TiltInertia
TiltIntensity


Iz

Iy

Ix

SlopeLimit

Rebound
Slide


Scale


StickOnPlatform
Stream

Inertia
SpeedLimit

KeepSpeedZ

CollisionControl



Tilt



Swim



Shoot


Spider

OnGround



Climb


Gi

Gravity
Collide
Animation


IdCardBase

IdCardCamera







Ó�BÎûÿß?

€?X:\cpa\tempgrp\MEC\hMecMatC.c






Ó�BÎûÿß?

€?BaseRebound
BaseSlide


MechanicalMaterial

Debug Window Text

X:\cpa\tempgrp\AI\AIBase\AI_Proto.c
Defines.ai

Debug Window



Test de la fonction %02d = %011ld : OK.



Test de la fonction %02d = %011ld : ERREUR !!!!!!!!!!!




== Lecteur : %c          ==



== Test des protections ==




==========================




PTC_TEST.LOG



}




	Consigne(%ld)




	Result(%ld)


	Parameter(%ld)



	ComputeDataCode(%ld)

{CodePassif:


{CodeActif:



%s\%s\%s.patch.ptc





Ó�BÎûÿß?

€?X:\cpa\tempgrp\AI\AIBase\StrIntel.c

Error Messages

Call of a repositionning procedure on an uncontrolled channel


Wrong use of EngineGoto
This is a warning about AI script


Debug version : dynamic allocation in bloc AI (don't forget to increase the bloc)


This comport doesn't belong to perso



The execute action has interrupted

The array for cycling comport is too small

Cycle in comportement changing

Change comport to the same comport

Field or variable designer have not correct type to store the passed value

Strange a (out of range) designer variable has been truncated 

Memory problem for free
Invalid save type for designer variable
Invalid model cast

Invalid use of Ultra operator


Super Object is not a camera



There was an error in the script



Reference not loaded



Button not defined

No Dynamics found


Division by zero



Wrong operator in left parameter of affect function
Bad entry in AIModel Script
Null vector is not allowed for this function



The first link must be a line (only for mode NbrOfLink = NbrOf WP)

The position specified for the access of a WP or a link in the way is invalid


The dynamic type of the link is invalid
The type of the link is invalid
Assertion failure


Attempt to access to an element in the array though it is empty
Attempt to add an element to the array though it is already full



WP handle is invalid



A function parameter is invalid
Unknown operator



This is not a valid condition


This is not a valid operator



Wrong Variable Designer ID

This is not a valid Procedure


This is not a valid Function



Wrong type for action's parameter


Not a good action to change to

Invalid access to dsgvar or field


Invalid access to dsgvar



Invalid access to field
Unknown node



Can't find perso



CreateComport section not in CreateIntelligence section
CreateRule section not in CreateComport section
CreateNode section not in CreateRule section



Bad rule number
Bad node number
Bad comportment number

Bad Type for left operand in affectation



Action table is too small


Too much Node Interpret Loaded

Unknown KeyWord Name



Priority of rule must be greater than 0
Unknown Condition Name

Unknown Procedure name

Unknown Function Name


Unknown Field Name

Wrong specified position in the Perso list! Can not delete the perso



The insert position in the Perso List is not available

The Perso List is Full

Script Read Problem: The type of the variable is not valid

Problem during an allocation memory
Invalid action

Wrong field in perso struct
Wrong number of parameter


Wrong number of parameter in the Condition

Too much elements in condition stack



There is no element in condition stack

Too much parameters for the Action

Too much parameters for the Condition


Too much Actions Loaded
Too much Conditions Loaded

This is not a valide AI fatal error
Module AI


Dec 5 1997

Artificial Intelligence
AI V5.0.

Debug Text

X:\cpa\Main2_0\Src\EngMain.c

alloc Channels


max alloc Channels


alloc PLA SPO

max alloc PLA SPO


Skipped anims

Shadow Elements

Fix Elements

Static Elements

Dynam Elements

Number of actors in collision with the main character


Number of objects of the map in collision with the main character


nb displayed sectors


Shadow faces



Fix faces


static faces



dynam faces




Shadow objects





Fix objects




static objects





dynam objects


Current Sector





VarGli8




VarGli7




VarGli6




VarGli5




VarGli4




VarGli3




VarGli2




VarGli1




Gli8



Gli7



Gli6



Gli5



Gli4



Gli3



Gli2



Gli1



Display Sprite





Display Specific 2





Display Specific



Wait for 3dFx


AI+DNM+PLA





Misc AI/DNM/PLA




Misc



Flip



Sound


Editor

Input


Player

Mechanics


Collisions with others Actors






All Collisions





AI

Display




Total


ISPAUSEDEVT




ISDEADEVT


EXITEVT




EXEFRAMEEVT