Animaniacs Game Pack
Animaniacs Game Pack |
---|
Also known as: Animaniacs PC Game Pack, Animaniacs Wacky Game Pack This game has uncompiled source code. |
Animaniacs Game Pack is a compilation of five arcade-style games featuring characters from the hit TV show Animaniacs. In each game, you play as one of the three Warner siblings: Yakko, Wakko, and Princess Angelina Contessa Louisa Francesca Banana Fanna Bo Besca III (but we'll call her Dot).
This needs some investigation. Discuss ideas and findings on the talk page. Specifically: Need some verification about publishers, maybe release dates as well. |
Contents
Intro/Menus
Unused Graphics
Baloney's Balloon Bop
Uncompiled Script
Text | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
set SndBoing = the number of member "boing" set SndFloor = the number of member "Floor" set SndBaloney = the number of member "BalOhBoy" set SndPop = -1 + the number of member "balloon pop 1" set SndMusic8 = the number of member "1 abc" set SndBalHit8 = the number of member "anvil hit blony 1" set SndFreeHit = the number of member "freeze hit fast" set SndPowerUp = the number of member "Tramp stretch" |
BALONEY.DXR | Internal | Text 43 | 43 | A snippet of Lingo script that the developers copied into a Text element, related to sound effect assignments. |
Belchinator Too
Cheat Codes
The game checks for a large number of cheat codes on the pause menu. While the level select codes have been known, the rest were only discovered through decompiling the game's Lingo scripts. The codes are listed in the order that they are stored in the game's scripts.
This needs some investigation. Discuss ideas and findings on the talk page. Specifically: What does the NARF code do? |
Cheat | Effect |
---|---|
TELE1 | Teleport to Level 1 - Loading Docks. |
TELE2 | Teleport to Level 2 - Storage. |
TELE3 | Teleport to Level 3 - Manufacturing. |
TELE4 | Teleport to Level 4 - Manufacturing. |
TELE5 | Teleport to Level 5 - Computer Center. |
TELE6 | Teleport to Level 6 - Brain Trust. |
TELE7 | Teleport to Level 7 - The Terrible Think Tank!! |
WACKYSACK | Gives full ammo, all keys, full armor, full belch shield, fully reveals map, disables force fields, and removes all enemies from the level. |
FOODSTUFF | Gives full ammo. |
FABOO | Gives full body armor. |
DANCE | Gives full belch shield. |
LOCKSMITH | Gives all keys. |
SESAME | Turns off all force fields in the level. |
PONDERING | Fully reveals the map. |
HELLONURSE | Grants invincibility. |
EGAD | All enemies die in one hit. |
ALONE | Removes all the enemies from the level, with the exception of any that are currently on screen. |
NARF | Unknown effect. Plays the sound for breaking boxes when activated. |
MORTAL | Disables the invincibility effect from the HELLONURSE code. |
NORMAL | Disables the effects of other cheats, except for inventory/ammo. |
Unused Graphics
Unused Audio
Sound | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
BSOUNDS.CXT | BSOUNDS | Sound 2 | key | Similar to the clips played when grabbing a colored key, but the second half has been replaced with a clip of Wakko saying "Faboo!" | |
MONSTER1.CXT
MONSTER2.CXT |
MONSTER1
MONSTER2 |
Sound 297 | Empty | A voice saying "Sound Missing" is located in the Cast files for Dump-T and ForkFace. Each enemy file uses Sound 297 for the projectile firing sound, but these enemies don't fire projectiles. This dummy sound effect is present to fill the slot. |
In addition, the enemy death sounds cannot be heard in their entirety in-game. The game only allows one sound effect to play at a time, so the enemy's own explosion cuts off the end of each clip. As it turns out, they tend to have a little more to say.
Sound | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
MONSTER1.CXT | MONSTER1 | Sound 296 | Robbie Die | Dump-T deflates a little bit longer. | |
MONSTER2.CXT | MONSTER2 | Sound 296 | R3 Die Rats | ForkFace says "Rats", which is completely cut off in-game. | |
MONSTER3.CXT | MONSTER3 | Sound 296 | M3 Trek Bot die | Spark-E's death sound has a cut-off fade at the end. | |
MONSTER4.CXT | MONSTER4 | Sound 296 | Yeow | PopCycle is supposed to say "Yeow", but in-game it ends up sounding more like "Yeo-". | |
MONSTER5.CXT | MONSTER5 | Sound 296 | R2ish die | Ashcan 451 says "Mommy", but is partially cut off in-game. | |
MONSTER6.CXT | MONSTER6 | Sound 296 | M6 Bunny Die | Bun-EE 2000 never gets to finish saying "Stop him". | |
MONSTER7.CXT | MONSTER7 | Sound 296 | M7 Mouse Die | KnowBot's death sound has a cut-off fade at the end. |
Prop Shop Drop
Unused Graphics
Unused Audio
This needs some investigation. Discuss ideas and findings on the talk page. Specifically: There are more potentially unused sound effects, possibly related to the tank and projectile impacts with enemies. Need to determine which ones are actually completely unused and weren't repurposed. |
Sound | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
PROPSHOP.DXR | sounds | Sound 64 | Pickup Clean Necks | This is supposed to be the pickup sound for the tissue boxes in Level 3, but the ice cube pickup sound is used instead. | |
PROPSHOP.DXR | sounds | Sound 77 | Pickup Cowboy Hat | This is supposed to be the pickup sound for the cowboy hats in Level 2, but the sound effect "object shot 3" is used instead. | |
PROPSHOP.DXR | sounds | Sound 111 | jump 4 | Based on the name and position in the cast, this may have been a jumping sound for the tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 121 | land 4 | Based on the name and position in the cast, this may have been a landing sound for the tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 134 | Tank Shoot | Sound effect for the unused tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 143 | Tank | Sound effect for the unused tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 144 | Tank End | Sound effect for the unused tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 145 | Tank Start | Sound effect for the unused tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 170 | Tank hit 1 | Sound effect for the unused tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 171 | Tank hit 2 | Sound effect for the unused tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 172 | tank hit 3 | Sound effect for the unused tank vehicle. | |
PROPSHOP.DXR | sounds | Sound 173 | end game | Based on the name, this is supposed to be played at the end of the game, but it is never heard. | |
PROPSHOP.DXR | Untitled-1 | Sound 19 | intro10 | An introduction for a removed tenth level! This is the only remnant of the level; no graphics, layout or music exists.
Dot: Collect all the hats you can find for the romance movie, Chapeau Chateaux. Yakko: The viewers'll flip their lids for that one! |
Level Editor
A rudimentary level editor used by the developers is hidden in the game. However, it cannot be accessed normally - the game must be in "Author" mode, meaning it is being run within the Macromedia Director editor (only possible by removing the protection on PROPSHOP.DXR). When running in Author mode, the level editor can be opened from the main menu by holding Ctrl while clicking on High Scores.
The editor allows you to navigate the levels, create and manipulate objects. Level designs can be saved as text files and loaded. The Test button will run the level with the edited design.
Level Select
A hidden level select screen is in the game, but it is completely removed from the code and cannot be accessed through gameplay. The only way to access it is by opening an unprotected PROPSHOP.DXR in Macromedia Director and going to the marker "password". Once accessed this way, it functions normally - clicking a button will go to that level.
Uncompiled Scripts
Text | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
on shotcontrol global speed,howfar,curpal,Odometer,animlist global Objectfrequency,NextObject,NextObjectMile global slippery,oldmove,playerpos,shottime,AmmoCount,PowerUpRef,GameTime global playerdef,playerdir,playercast,LastPlayerDir,playerinc,gear if AmmoCount < 0 then exit if the key3flag of sprite 48 then if the timer > shottime then set AmmoCount = AmmoCount - 1 case PowerUpRef of 0: set shottime = the timer + 30 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) 1: set shottime = the timer + 9 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) 2: set shottime = the timer + 6 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) 3: set shottime = the timer + 15 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) +point(-8,-4) makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) +point(0,-6) makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) +point(8,-4) 4: set shottime = the timer + 9 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) 5: if the locv of speed < 24 then set speed = speed + point(0,1) end if 6:set powerupref = 0 set Gametime = Gametime + 600 7: set shottime = the timer + 20 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) +point(0,-6) makeprojectile the loc of sprite 60+point(0,15),playerinc* point (1.2,-1)+point(0,-6) makeprojectile the loc of sprite 60+point(0,30),playerinc* point (1.2,-1) +point(0,-6) 8: set shottime = the timer + 15 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) +point(0,-6) 9: set shottime = the timer + 15 makeprojectile the loc of sprite 60,playerinc* point (1.2,-1) +point(0,-3) end case end if end if end |
PROPSHOP.DXR | scripts | Text 35 | old shot control | Earlier code for the "shotcontrol" function which was used for the tank vehicle. |
Unused Text
Text | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
[4742: [416, 22], 4742: [319, 20], 4743: [216, 20], 4744: [106, 20], 4751: [380, 20], 4751: [168, 20], 4751: [262, 22], 4757: [381, 1], 4759: [291, 1], 4761: [227, 1], 4763: [170, 1], 4765: [238, 1], 4767: [300, 1], 4769: [408, 1], 4771: [137, 22], 4773: [137, 22], 4776: [303, 32], 4778: [381, 3], 4780: [116, 3], 4784: [215, 15], 4784: [419, 15], 4787: [406, 2], 4790: [240, 2], 4793: [115, 15], 4793: [297, 15], 4796: [220, 2], 4799: [395, 2], 4802: [373, 15], 4802: [201, 15], 4811: [84, 19], 4811: [159, 19], 4811: [447, 19], 4811: [394, 19], 4812: [270, 17], 4820: [382, 14], 4820: [145, 16], 4824: [400, 14], 4824: [116, 16], 4828: [435, 14], 4828: [89, 16], 4832: [287, 22], 4835: [381, 4], 4835: [179, 4], 4838: [337, 20], 4838: [231, 20], 4841: [288, 20], 4845: [424, 1], 4845: [99, 1], 4848: [426, 1], 4848: [103, 1], 4854: [210, 2], 4857: [114, 2], 4860: [410, 2], 4863: [357, 2], 4866: [276, 2], 4869: [273, 5], 4869: [425, 5], 4869: [112, 5], 4876: [263, 34], 4879: [251, 22], 4883: [427, 20], 4883: [103, 20], 4885: [202, 14], 4890: [326, 5], 4890: [229, 14], 4893: [128, 22], 4894: [329, 5], 4895: [254, 14], 4899: [275, 14], 4900: [421, 22], 4902: [136, 22], 4903: [418, 13], 4903: [309, 14], 4906: [137, 22], 4907: [296, 14], 4909: [142, 17], 4911: [140, 17], 4912: [266, 16], 4916: [246, 16], 4920: [218, 16], 4920: [119, 22], 4924: [117, 22], 4924: [202, 16], 4928: [124, 17], 4928: [284, 17], 4935: [97, 20], 4935: [179, 33], 4936: [267, 20], 4938: [175, 20], 4940: [19, 8], 4946: [16, 9], 4947: [294, 1], 4949: [343, 1], 4951: [294, 1], 4953: [355, 1], 4957: [267, 20], 4957: [400, 20], 4957: [134, 20], 4959: [16, 10], 4960: [313, 3], 4962: [313, 3], 4964: [312, 3], 4966: [313, 3], 4969: [16, 10], 4973: [366, 22], 4976: [264, 33], 4978: [285, 1], 4981: [393, 2], 4984: [108, 2], 4985: [437, 12], 4987: [343, 2], 4989: [99, 22], 4992: [71, 1], 4994: [442, 1], 4996: [432, 1], 4997: [16, 10], 4998: [72, 1], 5000: [191, 32], 5002: [271, 18], 5003: [158, 7], 5003: [380, 7], 5007: [381, 35], 5008: [273, 1], 5011: [184, 1], 5016: [273, 22]] |
PROPSHOP.DXR | Internal | Field 140 | 140 | What appears to be a partial level design. If saved into a text file, it can be loaded into the game using the level editor. It is made up of a mix of level themes and lacks objects, suggesting that the object definitions may have been shuffled around since the level was made. It is also not a full level, being much shorter than the final levels. |
put mmessagelist(xtra "fileio") -- "xtra fileio -- CH May96 new object me -- create a new child instance -- FILEIO -- fileName object me -- return fileName string of the open file status object me -- return the error code of the last method called error object me, int error -- return the error string of the error setFilterMask me, string mask -- set the filter mask for dialogs openFile object me, string fileName, int mode -- opens named file. valid modes: 0=r/w 1=r 2=w closeFile object me -- close the file displayOpen object me -- displays an open dialog and returns the selected fileName to lingo displaySave object me, string title, string defaultFileName -- displays save dialog and returns selected fileName to lingo createFile object me, string fileName -- creates a new file called fileName setPosition object me, int position -- set the file position getPosition object me -- get the file position getLength object me -- get the length of the open file writeChar object me, string theChar -- write a single character (by ASCII code) to the file writeString object me, string theString -- write a null-terminated string to the file readChar object me -- read the next character of the file and return it as an ASCII code value readLine object me -- read the next line of the file (including the next RETURN) and return as a string readFile object me -- read from current position to EOF and return as a string readWord object me -- read the next word of the file and return it as a string readToken object me, string skip, string break -- read the next token and return it as a string getFinderInfo object me -- get the finder info for the open file (Mac Only) setFinderInfo object me, string attributes -- set the finder info for the open file (Mac Only) delete object me -- deletes the open file + version xtraRef -- display fileIO version and build information in the message window * getOSDirectory -- returns the full path to the Mac System Folder or Windows Directory " |
PROPSHOP.DXR | Internal | Text 230 | 230 | Console output of the function reference for the "fileio" Director Xtra. |
Brain Storm Car attempts to keep a constant speed. If an object is hit, the car decelerates and has to reaccelerate back to normal speed. -- Add high speed power up, that allows the player to ram |
PROPSHOP.DXR | Internal | Text 231 | 231 | Developer brainstorming notes. The idea of ramming objects is not used in the game; it may have later transformed into the tank vehicle concept, which was also removed. |
Smoocher
Cheat Codes
The game checks for a few cheat codes on the pause menu. These were not previously known and were only discovered through decompiling the game's Lingo scripts. When typed, a sprite will appear to confirm entry; based on the internal names for these this is believed to be a caricature of Greg Izzo, one of the programmers.
Unused Graphics
Unused Audio
There are nearly as many unused sounds as used ones!
Sound | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
DOT.DXR | Internal | Sound 521 | old.heart.2p | Based on the name, presumably an old heart collection sound. | |
DOT.DXR | Internal | Sound 522 | old.heart.3p | Based on the name, presumably an old heart collection sound. | |
DOT.DXR | Internal | Sound 523 | old.2 point | Based on the name, presumably an old heart collection sound. | |
DOT.DXR | Internal | Sound 524 | old.Hrt1 | Based on the name, presumably an old heart collection sound. | |
DOT.DXR | Internal | Sound 541 | Kiss 1 | A kissing sound, which you would expect to be used in a game about kissing. The final sound set does not have any kissing sounds except a single Dot voice line. | |
DOT.DXR | Internal | Sound 542 | Kiss 2 | Another kissing sound. | |
DOT.DXR | Internal | Sound 543 | Multi Kiss 1 | Yet another kissing sound. It's unclear why it is called "Multi Kiss 1" when it is still a single kiss. | |
DOT.DXR | Internal | Sound 571 | TNT1 | Alternate sound for the TNT item. | |
DOT.DXR | Internal | Sound 572 | TNT2 | Alternate sound for the TNT item. | |
DOT.DXR | Internal | Sound 575 | TNT4 w/Bell | Alternate sound for the TNT item. This one is very similar to the final sound, but using a slightly different explosion. | |
DOT.DXR | Internal | Sound 586 | Jmp1 | Unused jump sound. | |
DOT.DXR | Internal | Sound 587 | Jmp2 | Unused jump sound. A second copy of this sound is stored as Sound 601, also unused. | |
DOT.DXR | Internal | Sound 588 | Jmp3 | Unused jump sound. | |
DOT.DXR | Internal | Sound 589 | Jmp4 | Unused jump sound. | |
DOT.DXR | Internal | Sound 631 | Shoot 3 | Unused shooting sound. | |
DOT.DXR | Internal | Sound 632 | Shoot 4 | Unused shooting sound. | |
DOT.DXR | Internal | Sound 633 | Shoot 5 | Unused shooting sound. | |
DOT.DXR | Internal | Sound 634 | Shoot1 | Unused shooting sound. | |
DOT.DXR | Internal | Sound 635 | Shoot2 | Unused shooting sound. | |
DOT.DXR | Internal | Sound 641 | NO HEART 1 | The used "low hearts" sound, but without Dot's voice line at the end. | |
DOT.DXR | Internal | Sound 661 | charkill1 | Cartoon slipping sound. The name is unclear as to whether it was meant for killing an enemy or the player dying. | |
DOT.DXR | Internal | Sound 662 | charkill2 | Cartoon slipping sound. The name is unclear as to whether it was meant for killing an enemy or the player dying. | |
DOT.DXR | Internal | Sound 676 | deaddot1 | Unused death jingle. | |
DOT.DXR | Internal | Sound 677 | deaddot2 | Unused death sound. | |
DOT.DXR | Internal | Sound 693 | jump3 | Unused jump sound. This sound is listed in the cast order alongside the used jumping sounds, but is excluded from the list of random jump sounds to use. | |
DOT.DXR | Internal | Sound 705 | lowhearts.1 | A different "low hearts" sound, structured similarly to the used sound but with a different warning tone. | |
DOT.DXR | Internal | Sound 706 | lowhearts.1 | Same as lowhearts.0, but without Dot's voice line. | |
DOT.DXR | Internal | Sound 707 | lowhearts.2 | A voice saying "You need more hearts!" Yet another unused "low hearts" sound. | |
DOT.DXR | Internal | Sound 728 | shot8 | Unused shooting sound. This sound is listed in the cast order alongside the used shooting sounds, but is excluded from the list of random shooting sounds to use. | |
DOT.DXR | Internal | Sound 752 | 2 point | Unused heart collection sound. | |
DOT.DXR | Internal | Sound 753 | 2 Point.2 | Unused heart collection sound. |
Unused Text
Text | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
Why Cant I,32650,9 Stop Playing,29250,9 James,27300,9 Lars,25950,8 James T.,19850,7 Kirk,18550,7 Jason,17000,7 |
DOT.DXR | Internal | Field 168 | holddefault high scores | An early default high score table. |
updated: 9/8/97 3:53 PM |
DOT.DXR | Internal | Field 422 | lastchange | A revision date. |
Tee Off Mini Golf
Uncompiled Scripts
There are a whole bunch of old scripts lurking in various Field and Text elements. Presumably, the developers copied the contents of the scripts into these as a form of temporarily storing of a "known good" version of the script... but never removed them. Notably, this means the comments are intact; these are not recoverable when decompiling already-compiled Lingo scripts.
Text | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
on moveball global CubeList -- with bounds if not grounded then set ball.xyinc = ball.xyinc + point(0.0,1.0) set nextxy = ball.xy + ball.xyinc set modifier = point(1,1) repeat with xxx in CubeList if xxx<> 0 then if ball.z > getat(xxx,3) and ball.z< getat(xxx,2) then if inside(ball.xy,getat(xxx,1)) then -- figure out how we hit it (which side) to figure out ricochette. -- set engines for fudge factor seven set temp.xy = ball.xy - ball.xyinc -- back it up to see what happened. if not inside(ball.xy, getat(xxx,1)) then -- set ball.xyinc = - ball.xyinc set nextxy = ball.xy + ball.xyinc else set ball.zinc = - ball.zinc set ball.z = ball.z + ball.zinc end if end if end if end if end repeat if the locv of nextxy > 440 and not grounded then set modifier = point(1,-1) set ball.xyinc = ball.xyinc * .7 set ball.zinc = ball.zinc * .7 if the locv of ball.xyinc <6 then set grounded = 1 set the locv of ball.xy = 440 set the locv of ball.xyinc = 0 end if end if if the loch of nextxy < 20 or the loch of nextxy > 570 then if ( not OutOfBounds) and (the locv of nextxy > 400) then set modifier = modifier * point(-1,1) else set OutOfBounds = 1-- ha ha, it went out -- keepbouncing end if end if if (grounded and ball.z < 200) or OutOfBounds then set ball.xyinc = ball.xyinc * .95 set ball.zinc = ball.zinc * .95 end if set ball.xyinc = ball.xyinc * modifier set ball.xy = ball.xy + ball.xyinc set nextz = ball.z + ball.zinc if nextz > 300 or nextz < 1 then if ( not OutOfBounds) and (the locv of nextxy > 400) then set ball.zinc = -ball.zinc else set OutOfBounds = 1 end if end if set ball.z = ball.z + ball.zinc if abs(ball.zinc) < .5 and abs(the loch of ball.xyinc) < .5 then set stopped = 1 if abs(the loch of ball.xy - 315)< 30 and abs(the locv of ball.xy - 447) < 30 and abs(ball.z - 284)< 15 then set swingstage = 6 ---alert "Hole in One!" end if end |
GOLF.DXR | Internal | Text 104 | 104 | A very early version of the "moveball" function, which appears to only have very basic functionality implemented. |
global boundrymap -- 2 lists from front to back for each side -- noting each change in boundry position. drawn on top of background. global holemap -- map consists of a list of objects sorted by z position -- each object contains a screen rect and an objectref -- -- type eachobject -- maprect : rectangle for hit detection -- object_ref : lookup in objectlist -- end type global objectlist -- list of all possible objects located on screen -- in most cases the object will simply point to a animation (in the score) -- to be played if the ball enters this area. -- The animation will be keyed to either stop the ball or continue it's movement -- -- type objectdefs -- id_tag : Used in hard code for special objects. -- Object_type : 1=nonanimate,2=continuous,3=reacts,4=react_control -- Object_angle: modifier on ball's increment -- static_anim : list of castmembers -- hit_anim : list of castmembers -- hit_snd : member of sound to play when hit -- end type -- on initbuild set objectlist = [] -- object types : -- channel entrance -- water hazzard -- road way -- sand hazard -- waterfall -- barrels -- end on placeobject -- set plotz = 1 + ball.z/2.5 -- set dotsrc = Init.DotRect + rect(ball.xy,ball.xy) -- puppetsprite 9,1 -- set the stretch of sprite 99 = 1 -- set the rect of sprite 99 = map(dotsrc, refrect , getat(spacelist,plotz)) end on defineobject end on showmap -- assumes that holemap has already been sorted set startchan = 10 repeat with xxx in holemap end repeat end on sortmap end |
GOLF.DXR | Internal | Field 145 | 145 | Various global and function definitions, and a whole lot of commented out lines. |
on moveball global CubeList,holeinfo,thishole,animlist -- with bounds if not grounded then set ball.xyinc = ball.xyinc + point(0.0,1.0) set nextxy = ball.xy + ball.xyinc set modifier = point(1,1) set farpoint = 0 repeat with counter = 1 to count(CubeList) set acube = getat( CubeList,counter) if listp(acube) then if getat(acube,2) > farpoint then set farpoint = getat(acube,2) if (ball.z > getat(acube,3) and ball.z< getat(acube,2)) then if inside(nextxy+point(0,-15),getat(acube,1)) then -- figure out how we hit it (which side) to figure out ricochette. -- set engines for fudge factor seven set tempid = getat(acube,4) -- put acube case tempid of "water" : set OutOfBounds = 2 set ball.xyinc = point(0,0) set ball.zinc = 0 puppetsound 2, "splash" exit repeat "green" : set doit = 1 put "who's horny?" if count(animlist) then set tanimstep = getat(getat(animlist,1),2) -- what step of animation is playing case thishole of -- the green of each hole has different effects "1.1":-- nothing special "2.1":-- castle -- is drawbridge open? if tanimstep > 4 then set doit = 0 "3.1":-- windmill -- is gate open "4.1":-- lighthouse? "5.1":-- (old castle) "6.1":-- (old windmill) "7.1":-- racetrack -- is track clear "8.2":-- bridges -- ball bounces or rolls back. end case if doit then set ball.z = 480 -(ball.z - getat(acube,3)) set ball.zinc = ball.zinc * 4 set ball.xyinc = ball.xyinc * 4 set the loch of sprite 99 = -500 puppetsprite 99,0 go ("g"&char 1 of thishole) abort else set temp.xy = nextxy - ball.xyinc -- back it up to see what happened. if not inside(temp.xy+point(0,-15), getat(acube,1)) then set modifier = point(-1,1) puppetsound 2,("i"&random(9)) --set ball.xyinc = - ball.xyinc set nextxy = ball.xy + ball.xyinc end if set tempz = ball.z - ball.zinc if not (tempz > getat(acube,3) and tempz < getat(acube,2)) then set ball.zinc = - ball.zinc puppetsound 2,("i"&random(9)) set ball.z = ball.z + ball.zinc*2 end if end if "bridge": if grounded then set ball.zinc = ball.zinc - .5 else set temp = ( ball.z - getat( acube,2 ) )/( getat( acube,3) - getat( acube,2) ) set temp2 = (the top of getat(acube,1) * (1-temp)) + (the bottom of getat(acube,1) * (temp)) if the locv of ball.xy > ( temp2 ) then set the locv of ball.xy = temp2 - 5 set ball.zinc = ball.zinc -3 set modifier = point(1,-1) puppetsound 2,("b"&random(5)) end if end if "seg" : set ruct = value(char 3 of thishole) set ruct = ruct + 1 set thishole = char 1 to 2 of thishole & string(ruct) set CubeList = getaprop(holeinfo,thishole) -- first calculation set the loch of ball.xy = 450 set ball.z = 10 set temp = ball.xyinc set ball.xyinc = point(-ball.zinc, the locv of ball.xyinc) set ball.zinc = getat(temp, 1)/8 set the rect of sprite 99 = rect(-105,-105,-100,-100) set the loc of sprite 99 = point (-400,-400) go marker("p"&thishole) + 3 abort otherwise: set temp.xy = nextxy - ball.xyinc -- back it up to see what happened. if not inside(temp.xy+point(0,-15), getat(acube,1)) then set modifier = point(-1,1) puppetsound 2,("i"&random(9)) --set ball.xyinc = - ball.xyinc set nextxy = ball.xy + ball.xyinc end if set tempz = ball.z - ball.zinc if not (tempz > getat(acube,3) and tempz < getat(acube,2)) then set ball.zinc = - ball.zinc puppetsound 2,("i"&random(9)) set ball.z = ball.z + ball.zinc*2 end if end case exit repeat end if end if end if end repeat -- if ball.z > farpoint then set OutOfBounds = 1 if the locv of nextxy > 440 and not grounded then puppetsound 2,("b"&random(5)) set modifier = modifier * point(1,-1) set ball.xyinc = ball.xyinc * .7 set ball.zinc = ball.zinc * .7 if the locv of ball.xyinc <6 then set grounded = 1 set the locv of ball.xy = 440 set the locv of ball.xyinc = 0 end if end if if the loch of nextxy < 0 or the loch of nextxy > 600 then set OutOfBounds = 1-- ha ha, it went out end if if (grounded and ball.z < 200) or OutOfBounds then set ball.xyinc = ball.xyinc * .98 set ball.zinc = ball.zinc * .98 end if set ball.xyinc = ball.xyinc * modifier set ball.xy = ball.xy + ball.xyinc set nextz = ball.z + ball.zinc if nextz > 400 or nextz < 1 then if ( not OutOfBounds) and (the locv of nextxy > 400) then set ball.zinc = -ball.zinc else -- put "Out!" set OutOfBounds = 1 end if end if set ball.z = ball.z + ball.zinc if abs(ball.zinc) < 1 and abs(the loch of ball.xyinc) < 1 and the locv of nextxy =440 then set stopped = 1 end |
GOLF.DXR | Internal | Text 146 | 146 | A later, but still incomplete version of the "moveball" function. Now it appears to have checks for terrain types, but not all are implemented. There's also an interesting "put" command in there... |
on formatscripts repeat with xxx = 1 to the number of members in castlib 1 if the type of member xxx = #script then set the text of member "text" = the scriptText of member xxx set the font of member "text" = "chicago" set the scriptText of member xxx = the text of member "text" end if end repeat end |
GOLF.DXR | Internal | Field 190 | 190 | An earlier version of the "formatscripts" function. |
Unused Text
Text | File | Cast | Type / ID | Internal Name | Description |
---|---|---|---|---|---|
Define size of object using size guide. |
GOLF.DXR | Internal | Text 32 | 32 | |
Vertical |
GOLF.DXR | Internal | Text 35 | 35 | |
Horizontal |
GOLF.DXR | Internal | Text 36 | 36 | |
point(767.3890, 456.5105) point(1.8075, -1.1297) |
GOLF.DXR | Internal | Field 67 | test9 | Some coordinates. |
Version Differences
There are two separate versions in circulation: v1.0 and v1.0o. It appears that v1.0o was only distributed in OEM bundles with new PCs. The game's data files appear to be identical between the two versions, but changes have been made to the AutoRun executable (Teaser.exe) and setup routines.
In both versions, there is an audio file, Saucy.wav present in the root of the disc:
Audio | Transcript |
---|---|
The Brain: I am The Brain, your leader. I command you to play many games and be very entertained. |
This file is unused in v1.0. However, in v1.0o, it plays when Teaser.exe is opened. This appears to have been an oversight; v1.0o makes a minor change to Teaser.ini to enable this:
[Environment] Audio=saucy.wav
The Animaniacs series
| |
---|---|
SNES | Animaniacs (Prototype) |
Genesis | Animaniacs |
Game Boy | Animaniacs |
Windows | Game Pack • A Gigantic Adventure |
PlayStation | Ten Pin Alley |
GameCube, PlayStation 2, Xbox | The Great Edgar Hunt |
Game Boy Advance | Lights, Camera, Action! |
Pinky and the Brain | |
Windows | World Conquest |
Game Boy Advance | The Master Plan |
See also | |
Tiny Toon Adventures |
- Pages missing developer references
- Games developed by Funnybone Interactive
- Pages missing publisher references
- Games published by Knowledge Adventure
- Windows games
- Mac OS Classic games
- Pages missing date references
- Games released in 1997
- Games released in December
- Games released on December 31
- Games with uncompiled source code
- Games with hidden development-related text
- Games with unused graphics
- Games with unused sounds
- Games with hidden level selects
- Games with revisional differences
- To investigate
- Animaniacs series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To investigate
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with hidden level selects
Games > Games by content > Games with revisional differences
Games > Games by content > Games with uncompiled source code
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused sounds
Games > Games by developer > Games developed by Funnybone Interactive
Games > Games by platform > Mac OS Classic games
Games > Games by platform > Windows games
Games > Games by publisher > Games published by Knowledge Adventure
Games > Games by release date > Games released in 1997
Games > Games by release date > Games released in December
Games > Games by release date > Games released in December > Games released on December 31
Games > Games by series > Animaniacs series