Difference between revisions of "Gob Scripts"

From ScummVM :: Wiki
Jump to navigation Jump to search
 
(107 intermediate revisions by the same user not shown)
Line 1: Line 1:
*Degob is a Tool that decompiles for you the TOT Files
*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 of Degob===
*Usage: ./degob <version> <file.tot> [-o <offset>] [--lib] [<file.ext>] [<commun.ext>]
*Usage: ./degob <version> <file.tot> [-o <offset>] [--lib] [<file.ext>] [<commun.ext>]
Line 22: Line 23:
* <file.tot>  the .tot file to decompile
* <file.tot>  the .tot file to decompile


*-o <offset>  script entry point in the .tot file, defaults to the value read in script header
*-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
* --lib  library mode: all offsets from .IDE named functions file are used as entry points
Line 31: 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_readData reads a specfic File
* o7_copyFile copy a File to a other Directory.
* o5_deleteFile is for deleting a specfic File
* o7_readData reads a specfic File.
* o2_checkData checks for a specfic File if its exists
* o5_deleteFile is for deleting a specfic File.
* o4_playVmdOrMusic is for playing a specfic VMD File that contains a Movie or Music
* o2_checkData checks for a specfic File if its exists.
* o1_loadFont is for loading a specfic Font File
* 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.
* o2_playImd is for playing a IMD File.
* o5_getSystemCDSpeed is for getting the Information of the CD-Drive how fast it is.
* o5_getSystemRAM is for getting Information of how much RAM the PC have.
* o5_getSystemCPUSpeed to find out which CPU Speed / Clock the CPU has.
* o5_getSystemDrawSpeed is for maybe the Graphics Card or for ddraw.
* o5_totalSystemSpecs from this the Settings for the best Performance get grabbed for the Game.
* o5_loadSystemSpecs is for loading then the Game in the best possible Graphics.
* o1_strToLong is to jump to var8 & var32 variables.
 
===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.
* o2_setGoblinState is for setting the current State in Gobliins.
 
===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==
*[https://buildbot.scummvm.org/#/dailybuilds Dailybuild of the ScummVM Tools] (and click in the Section of ScummVM Tools on your Platform)

Latest revision as of 14:06, 29 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.
  • o2_playImd is for playing a IMD File.
  • o5_getSystemCDSpeed is for getting the Information of the CD-Drive how fast it is.
  • o5_getSystemRAM is for getting Information of how much RAM the PC have.
  • o5_getSystemCPUSpeed to find out which CPU Speed / Clock the CPU has.
  • o5_getSystemDrawSpeed is for maybe the Graphics Card or for ddraw.
  • o5_totalSystemSpecs from this the Settings for the best Performance get grabbed for the Game.
  • o5_loadSystemSpecs is for loading then the Game in the best possible Graphics.
  • o1_strToLong is to jump to var8 & var32 variables.

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.
  • o2_setGoblinState is for setting the current State in Gobliins.

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