Difference between revisions of "Gob Scripts"

From ScummVM :: Wiki
Jump to navigation Jump to search
Line 32: Line 32:


===Functions===
===Functions===
* o2_getFreeMem is for keeping up Memory (RAM) to dont produce any out of memory problems. on PCs that have low Memory.
* o2_getFreeMem is for keeping up Memory (RAM) to prevent to produce any out of memory problems. on PCs that have low Memory.
* o2_writeData is for write Data in a specfic File.
* o2_writeData is for write Data in a specfic File.
* o7_copyFile copy a File to a other Directory.
* o7_copyFile copy a File to a other Directory.

Revision as of 17:55, 28 March 2023

  • Degob is a Tool that decompiles for you the TOT Files
  • Recommended is always use the Latest Version of Degob you get the latest Version of Degob. Download it from the Buildbot / Daily Build

Usage of Degob

  • Usage: ./degob <version> <file.tot> [-o <offset>] [--lib] [<file.ext>] [<commun.ext>]
  • The disassembled script will be written to stdout.
  • Supported versions:
  • Gob1 - Gobliiins 1
  • Gob2 - Gobliins 2
  • Gob3 - Goblins 3
  • Ween - Ween: The Prophecy
  • Bargon - Bargon Attack
  • Fascin - Fascination
  • Lost - Lost in Time
  • Woodruff - The Bizarre Adventures of Woodruff and the Schnibble
  • Dynasty - The Last Dynasty
  • Urban - Urban Runner
  • Geisha - Geisha
  • LittleRed - Once Upon A Time: Little Red Riding Hood
  • Adibou2 - Adibou 2
  • <file.tot> the .tot file to decompile
  • -o <offset> script entry point in the .tot file, defaults to the value read in script header. _start is the Entry Point at offset 128
  • --lib library mode: all offsets from .IDE named functions file are used as entry points
  • <file.ext> external script resource file (<script name>.EXT)
  • <commun.ext> external common script resource file (commun.EXT)

Functions

  • o2_getFreeMem is for keeping up Memory (RAM) to prevent to produce any out of memory problems. on PCs that have low Memory.
  • o2_writeData is for write Data in a specfic File.
  • o7_copyFile copy a File to a other Directory.
  • o7_readData reads a specfic File.
  • o5_deleteFile is for deleting a specfic File.
  • o2_checkData checks for a specfic File if its exists.
  • o1_manageDataFile is for using the STK File or loading the next STK File into ScummVM.
  • o4_playVmdOrMusic is for playing a specfic VMD File that contains a Movie or Music.
  • o1_loadFont is for loading a specfic Font File.
  • o1_printTotText is showing up the Text that contains the TOT if you go with the Mouse on any object and that displays a Text on the Display.
  • o2_printText is for print / display some Text of the Icons or any Names.
  • o1_loadTot is for loading the next TOT File.
  • o1_setFrameRate this is for setting a custom Framerate the Game uses.
  • oPlaytoons_openItk for opening a specfic ITK for the next Files.
  • o2_closeItk when the ITK finished opening and reading Files from it then closes.
  • o3_copySprite is for copying the Sprite in the Game.
  • o6_createSprite is for creating Sprites.
  • o1_loadSpriteToPos to load a Sprite to a specfic Position.
  • o2_loadSound which Sound the Game needs to load.
  • o1_playSound is for playing a specfic Sound.
  • o2_stopSound is for stopping a Sound that is currently running.
  • o1_setMousePos is for set the Mouse Position.
  • o1_loadAnim for loading a Animation.
  • o1_updateAnim for updating the current Animation.
  • o1_initCursorAnim is for initialize the Cursor Animation.
  • o1_initCursor is for initialize the Cursor.
  • o7_loadCursor is for loading the Cursor.
  • o1_getObjAnimSize gets the right Obj Animation Size.
  • o2_loadMapObjects is for loading the Objects of the Map (example in the Garden it loads the House as an object (Adibou2)).
  • o1_renewTimeInVars Renew the Time in the Var Functions.
  • o7_callFunction is for loading something for the Game up.
  • o7_getDBString is for getting various Strings of the Database.
  • o7_displayWarning is for warn the Player when something hangs as example.
  • o7_opendBase is for start the Environment.
  • o7_loadImage loads a static Image with the File Extension .LBM.
  • o1_keyFunc detects if the Mouse or Keyboard executes any inputs.
  • o1_palLoad is for choosing different Videos (VMDs).
  • o2_initScreen is for blitting the Sprites.
  • o1_callSub for call / load the TOT File with the right offset.
  • o1_if for if you wanna click on some Text that is displays
  • o2_getplayCDTrack is for playing is playing a specfic Track of the Disc.
  • o1_return returns in the Game as example Gobliins if you click on certain places in the Game.
  • o1_loadObjects load the Objects into the Game.
  • o1_drawObjects is for drawing the Objects when they got loaded into the Game.
  • o1_loadMap is for loading up the Map.
  • o1_renderStatic is for Render Animation to a static Image.
  • o1_loadSpriteContent is for loading the Contents of the Sprite.
  • o1_animateObjects makes the Object to an Animation.
  • o1_waitEndPlay it waits until the End of the Song / Voice is played.
  • o1_getAnimLayerInfo is for to get Information about the Layer of the Animation.
  • o1_animatePalette is for selecting for the Animation the correct Palette.
  • o1_animateCursor is for animate the Cursor.
  • o1_clearCursorAnim is for clearing the Cursor Animation for the next initialization.
  • o2_stopCD is for stop the current CD from playing.
  • o2_getCDTrackPos is for playing the needed Track for the Game.
  • o2_playCDTrack is for playing a specfic Track of the CD.
  • o2_readLIC is for reading the Game Name.
  • o1_blitCursor is for blitting the Cursor.
  • o3_getTotTextItemPart is for if you move the Cursor on a Item and the Text is getting displayed. It also used by o1_printTotText in a similar way.
  • o2_readData is for reading Data from a File, in some cases from a .INF File.
  • o2_openItk is for opening a specfic ITK File for the Game.

Geisha Functions

  • oGeisha_loadSound loads the Sound (in the most cases it loads a .SND File) in Geisha.
  • oGeisha_loadTot load the TOT File in Geisha.
  • oGeisha_checkData checks the Data (if a TOT File is present) in Geisha.
  • oGeisha_loadCursor loads the Cursor into Geisha.
  • oGeisha_loadTitleMusic it loads the Title Music of Geisha.
  • oGeisha_stopMusic it stops the current playing Music in Geisha.
  • oGeisha_playMusic it plays Music in Geisha.
  • oGeisha_gameDiving it dive into Geisha and checks for a specfic Value.
  • oGeisha_gamePenetration its similar to oGeisha_gameDiving it also checks for certain Values.
  • oGeisha_caress1 compares two numbers for the most part it is (-1, 0).
  • oGeisha_caress2 is doing the same as for oGeisha_caress1.

Gobliins Functions

  • o1_loadGoblin loads Goblin into the Game.
  • o2_moveGoblin is for move Goblin.
  • o1_moveGoblin0 its for moving Goblin0 similar to o2_moveGoblin.

Fascination Functions

  • oFascin_setRenderFlags is for setting the Flags for Rendering.
  • oFascin_setWinFlags is settings Flags for Windows.
  • oFascin_setWinSize for setting the right Window Size.
  • oFascin_openWin is for opening a new Window.
  • oFascin_closeWin is for closing the current Window.
  • oFascin_copySprite loads / copy a specfic Sprite into the Game.

Bargon Attack Functions

  • oBargon_intro1 executes / load something from INTRO1.TOT.
  • oBargon_intro2 executes / load something from INTRO2.TOT.
  • oBargon_intro3 executes / load something from INTRO3.TOT.

External links