#!/usr/bin/python

# ScummVM - Graphic Adventure Engine
#
# ScummVM is the legal property of its developers, whose names
# are too numerous to list here. Please refer to the COPYRIGHT
# file distributed with this source distribution.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#

from tasm.parser import parser
from tasm.cpp import cpp

p = parser(skip_binary_data = [
	# These data blobs are not output
	# dreamweb.asm
	'characterset1',
	'roomdata',
	'mainlist',
	'mainlist2',
	'menulist',
	'folderlist',
	'stak',
	'keyconverttab',
	'atmospherelist',
	'linedata',
	'madeuproomdat',
	'recname',
	'fileheader',
	'filedata',
	'foreignrelease',
	'extradata',
	'keybuffer',
	'spritename1',
	'subtitles',
	'icongraphics0',
	'icongraphics1',
	'savenames',
	'volumetabname',
	'commandline',
	'openchangesize',
	'roompics',
	'roomscango',
	'oplist',
	'presslist',
	'inputline',
	'flashmousetab',
	'id',
	'place',
	'blinktab',
	'quitrequested',
	# keypad.asm
	'keypadlist',
	'symbollist',
	'diarylist',
	# monitor.asm
	'comlist',
	'keys',
	'rootdir',
	'operand1',
	'currentfile',
	# newplace.asm
	'destlist',
	# object.asm
	'invlist1',
	'invlist1continued',
	'examlist',
	'withlist1',
	# saveload.asm
	'loadlist',
	'savelist',
	'gameerror1',
	'gameerror2',
	'gameerror3',
	'gameerror4',
	'gameerror5',
	'gameerror6',
	'gameerror7',
	'gameerror8',
	'error2patch',
	'error6patch',
	'error8patch',
	'gameinfo',
	'endgametext1',
	'savefiles',
	'decidelist',
	'discopslist',
	'opslist',
	# sblaster.asm
	'dmaaddresses',
	'speechfilename',
	'speechfile',
	'speechlength',
	'soundbufferwrite',
	# sprite.asm
	'reelroutines',
	'reelcalls',
	'facelist',
	'rainlocations',
	'roombyroom',
	'r0','r1','r2','r6','r8','r9','r10','r11','r12','r13','r14',
	'r20','r22','r23','r25','r26','r27','r28','r29',
	'r45','r46','r47','r52','r53','r55',
	#talk.asm
	'talklist',
	'quitlist',
	# titles.asm
	'introtextname',
	'title0graphics',
	'title1graphics',
	'title2graphics',
	'title3graphics',
	'title4graphics',
	'title5graphics',
	'title6graphics',
	# use.asm
	'uselist',
	'money1poke',
	'money2poke',
	# vars.asm
	'currentset',
	'currentsample',
	'ch0playing',
	'ch0repeat',
	'ch1playing',
	'icons1',
	'icons2',
	'tempcharset',
	'currentframe',
	'takeoff',
	'reelpointer',
	'roomssample',
	'needsoundbuff',
	'oldint8seg',
	'oldint8add',
	'oldint9seg',
	'oldint9add',
	'soundbuffer',
	'soundbufferad',
	'soundbufferpage',
	'soundtimes',
	'oldsoundintseg',
	'oldsoundintadd',
	'soundbaseadd',
	'dsp_status',
	'dsp_write',
	'dmaaddress',
	'soundint',
	'sounddmachannel',
	'sampleplaying',
	'testresult',
	'currentirq',
	'gameerror',
	'howmuchalloc',
	'inputport',
	'emmhandle',
	'emmpageframe',
	'emmhardwarepage',
	'ch0emmpage',
	'ch0offset',
	'ch0oldemmpage',
	'ch0oldoffset',
	'ch0oldblockstocopy',
	'ch1emmpage',
	'ch1offset',
	'ch1blocksplayed',
	'soundemmpage',
	'speechemmpage',
	'speechloaded',
	'lineroutine',
	'increment1',
	'increment2',
	'keypadax',
	'keypadcx',
	'soundbuffer',
	'cursloc',
	'liftsoundcount',
	'playblock',
	'gotfrom',
	'flagx',
	'flagy',
	'lastflagex',
	'keynum',
	'newlogonum',
	'currentex',
	'currentfree',
	'frsegment',
	'dataad',
	'framesad',
	'objectx',
	'objecty',
	'savesize',
	'savesource',
	'savex',
	'savey',
	'persondata',
	'talknum',
	'saidno',
	'prioritydep',
	'currentkey2',
	'mustload',
	'answered',
	'slotdata',
	'thisslot',
	'slotflags',
	'numberinroom',
	'currentcel',
	'oldselection',
	'stopwalking',
	'mouseon',
	'played',
	'timer1',
	'timer2',
	'timer3',
	'volume',
	'volumeto',
	'volumedirection',
	'volumecount',
	'wholetimer',
	'wongame',
	'timer1to',
	'timer2to',
	'timer3to',
	'oldsubject',
	'buffers',
	'itemtotran',
	'symboltolight',
	'symbol1',
	'symbol2',
	'symbol3',
	'symbolnum',
	'monsource',
	'netseg',
	'netpoint',
	'cursorstate',
	'ch0blockstocopy',
	'ch1blockstocopy',
	'sounddata',
	'sounddata2',
	'mapstore',
	'mapdata',
	'backdrops',
	'textfile1',
	'textfile2',
	'textfile3',
	'puzzletext',
	'commandtext',
	'traveltext',
	'tempgraphics',
	'tempgraphics2',
	'tempgraphics3',
	'tempsprites',
	'charset1',
	'extras',
	'freeframes',
	'setframes',
	'reel1',
	'reel2',
	'reel3',
	'setdesc',
	'blockdesc',
	'roomdesc',
	'freedesc',
	'people',
	'reels',
	'setdat',
	'freedat',
	'speechcount',
	'charshift',
	'kerning',
	'brightness',
	'roomloaded',
	'didzoom',
	'linespacing',
	'textaddressx',
	'textaddressy',
	'textlen',
	'lastxpos',
	'icontop',
	'iconleft',
	'itemframe',
	'roomad',
	'withobject',
	'withtype',
	'lookcounter',
	'command',
	'commandtype',
	'oldcommandtype',
	'objecttype',
	'getback',
	'invopen',
	'mainmode',
	'pickup',
	'lastinvpos',
	'examagain',
	'newtextline',
	'openedob',
	'openedtype',
	'oldmapadx',
	'oldmapady',
	'mapadx',
	'mapady',
	'mapoffsetx',
	'mapoffsety',
	'mapxstart',
	'mapystart',
	'mapxsize',
	'mapysize',
	'havedoneobs',
	'manisoffscreen',
	'rainspace',
	'facing',
	'leavedirection',
	'turntoface',
	'turndirection',
	'maintimer',
	'introcount',
	'arrowad',
	'currentkey',
	'oldkey',
	'useddirection',
	'timercount',
	'oldtimercount',
	'mapx',
	'mapy',
	'newscreen',
	'ryanx',
	'ryany',
	'lastflag',
	'offsetx',
	'offsety',
	'currentob',
	'destpos',
	'reallocation',
	'roomnum',
	'nowinnewroom',
	'resetmanxy',
	'newlocation',
	'autolocation',
	'doorcheck1',
	'doorcheck2',
	'doorcheck3',
	'doorcheck4',
	'mousex',
	'mousey',
	'mousebutton',
	'mousebutton1',
	'mousebutton2',
	'mousebutton3',
	'mousebutton4',
	'oldbutton',
	'oldx',
	'oldy',
	'lastbutton',
	'oldpointerx',
	'oldpointery',
	'delherex',
	'delherey',
	'pointerxs',
	'pointerys',
	'delxs',
	'delys',
	'pointerframe',
	'pointerpower',
	'auxpointerframe',
	'pointermode',
	'pointerspeed',
	'pointercount',
	'inmaparea',
	'talkmode',
	'talkpos',
	'character',
	'watchdump',
	'logonum',
	'oldlogonum',
	'pressed',
	'presspointer',
	'graphicpress',
	'presscount',
	'lightcount',
	'folderpage',
	'diarypage',
	'menucount',
	'symboltopx',
	'symboltopnum',
	'symboltopdir',
	'symbolbotx',
	'symbolbotnum',
	'symbolbotdir',
	'dumpx',
	'dumpy',
	'walkandexam',
	'walkexamtype',
	'walkexamnum',
	'curslocx',
	'curslocy',
	'curpos',
	'monadx',
	'monady',
	'numtodo',
	'timecount',
	'counttotimed',
	'timedseg',
	'timedoffset',
	'timedy',
	'timedx',
	'needtodumptimed',
	'loadingorsave',
	'currentslot',
	'cursorpos',
	'colourpos',
	'fadedirection',
	'numtofade',
	'fadecount',
	'addtogreen',
	'addtored',
	'addtoblue',
	'lastsoundreel',
	'volume',
	'volumeto',
	'volumedirection',
	'volumecount',
	'lasthardkey',
	'bufferin',
	'bufferout',
	'workspace',
	'mainsprites',
	'backdrop',
	'recordspace',
	'blinkframe',
	'blinkcount',
	'reasseschanges',
	'pointerspath',
	'manspath',
	'pointerfirstpath',
	'finaldest',
	'destination',
	'linestartx',
	'linestarty',
	'lineendx',
	'lineendy',
	'linepointer',
	'linedirection',
	'linelength',
	# vars.asm - saved vars
	'startvars',
	'progresspoints',
	'watchon',
	'shadeson',
	'secondcount',
	'minutecount',
	'hourcount',
	'zoomon',
	'location',
	'expos',
	'exframepos',
	'extextpos',
	'card1money',
	'listpos',
	'ryanpage',
	'watchingtime',
	'reeltowatch',
	'endwatchreel',
	'speedcount',
	'watchspeed',
	'reeltohold',
	'endofholdreel',
	'watchmode',
	'destafterhold',
	'newsitem',
	'liftflag',
	'liftpath',
	'lockstatus',
	'doorpath',
	'counttoopen',
	'counttoclose',
	'rockstardead',
	'generaldead',
	'sartaindead',
	'aidedead',
	'beenmugged',
	'gunpassflag',
	'canmovealtar',
	'talkedtoattendant',
	'talkedtosparky',
	'talkedtoboss',
	'talkedtorecep',
	'cardpassflag',
	'madmanflag',
	'keeperflag',
	'lasttrigger',
	'mandead',
	'seed',
	'seed',
	'seed',
	'needtotravel',
	'throughdoor',
	'newobs',
	'ryanon',
	'combatcount',
	'lastweapon',
	'dreamnumber',
	'roomafterdream',
	'shakecounter',
	# vars.asm - constants
	'openinvlist',
	'ryaninvlist',
	'pointerback',
	'mapflags',
	'startpal',
	'endpal',
	'maingamepal',
	'spritetable',
	'setlist',
	'freelist',
	'exlist',
	'peoplelist',
	'zoomspace',
	'printedlist',
	'listofchanges',
	'undertimedtext',
	'rainlist',
	'initialreelrouts',
	'initialvars',
	'lengthofbuffer',
	'lenofreelrouts',
	'reellist',
	'intext',
	'lengthofmap',
	'blocktext',
	'blocks',
	'frframes',
	'frames',
	'persontxtdat',
	'persontext',
	'tablesize',
	'undertextsizex',	# defined in dreambase.h
	'undertextsizey',	# defined in dreambase.h
	'lengthofvars',		# defined in dreambase.h
	'lenofmapstore',	# defined in dreambase.h
	'keypadx',
	'keypady',
	'settext',
	'freetext',
	'setdatlen',
	'textstart',
	'maplen',
	'maplength',
	'undertimedysize',
	'blocktextdat',
	'personframes',
	'map',
	'settextdat',
	'textunder',
	'pathdata',
	'framedata',
	'flags',
	'intextdat',
	'freetextdat',
	'frframedata',
	'zoomx',
	'zoomy',
	'menux',
	'menuy',
	'headerlen',
	'freedatlen',
	'diaryx',
	'diaryy',
	'inventx',
	'inventy',
	'screenwidth',
	'mapwidth',
	'opsx',
	'opsy',
	'symbolx',
	'symboly',
	'numchanges',
	# vgagrafx.asm
	'cityname',
	'extragraphics1',
	'icongraphics8',
	'shaketable',
	'symbolgraphic',
	'travelgraphic1',
	'travelgraphic2',
	'foldergraphic1',
	'foldergraphic2',
	'foldergraphic3',
	'foldertext',
	'traveltextname',
	'mongraphics2',
	'spritename3',
	'mongraphicname',
	'puzzletextname',
	'commandtextname',
	'characterset2',
	'characterset3',
	'monitorfile1',
	'monitorfile2',
	'monitorfile10',
	'monitorfile11',
	'monitorfile12',
	'monitorfile13',
	'monitorfile20',
	'monitorfile21',
	'monitorfile22',
	'monitorfile23',
	'monitorfile24',
	'introtextfile',
	'palettescreen',
	'idname',
	'samplename',
	'diarygraphic',
	'diarytext',
	'title7graphics',
	'handle',
	'basicsample',
	'endtextname',
	'gungraphic',
	'monkface',
	])
p.strip_path = 3
context = p.parse('dreamweb/dreamweb.asm')
p.link()
generator = cpp(context, "DreamGen", blacklist = [
	# These functions are not processed

	'aboutturn',
	'accesslightoff',
	'accesslighton',
	'actualload',
	'actualsave',
	'addalong',
	'additionaltext',
	'addlength',
	'addtopeoplelist',
	'addtopresslist',
	'adjustdown',
	'adjustleft',
	'adjustlen',
	'adjustright',
	'adjustup',
	'advisor',
	'afterintroroom',
	'afternewroom',
	'aide',
	'alleybarksound',
	'allocatebuffers',
	'allocateload',
	'allocatemem',
	'allocatework',
	'allpalette',
	'allpointer',
	'animpointer',
	'atmospheres',
	'attendant',
	'autoappear',
	'autolook',
	'autosetwalk',
	'backobject',
	'bartender',
	'barwoman',
	'biblequote',
	'blank',
	'blockget',
	'blocknametext',
	'bossman',
	'bothchannels',
	'bresenhams',
	'businessman',
	'buttoneight',
	'buttonenter',
	'buttonfive',
	'buttonfour',
	'buttonnine',
	'buttonnought',
	'buttonone',
	'buttonpress',
	'buttonseven',
	'buttonsix',
	'buttonthree',
	'buttontwo',
	'calcfrframe',
	'calcmapad',
	'calledensdlift',
	'calledenslift',
	'callhotellift',
	'cancelch0',
	'cancelch1',
	'candles',
	'candles1',
	'candles2',
	'cantdrop',
	'carparkdrip',
	'channel0only',
	'channel0tran',
	'channel1only',
	'checkbasemem',
	'checkcoords',
	'checkdest',
	'checkforemm',
	'checkforexit',
	'checkforshake',
	'checkifex',
	'checkiffree',
	'checkifpathison',
	'checkifperson',
	'checkifset',
	'checkinput',
	'checkinside',
	'checkobjectsize',
	'checkone',
	'checksoundint',
	'checkspeed',
	'chewy',
	'clearbeforeload',
	'clearbuffers',
	'clearchanges',
	'clearendpal',
	'clearpalette',
	'clearreels',
	'clearrest',
	'clearsprites',
	'clearstartpal',
	'clearwork',
	'closefile',
	'cls',
	'commandonly',
	'commandwithob',
	'compare',
	'constant',
	'convertkey',
	'convicons',
	'convnum',
	'copper',
	'copyname',
	'createfile',
	'createname',
	'createpanel',
	'createpanel2',
	'credits',
	'crosshair',
	'dealwithspecial',
	'deallocatemem',
	'decide',
	'delchar',
	'delcurs',
	'deleteexframe',
	'deleteextext',
	'deleteexobject',
	'deletetaken',
	'deleverything',
	'delpointer',
	'delsprite',
	'deltextline',
	'delthisone',
	'describeob',
	'destselect',
	'diarykeyp',
	'diarykeyn',
	'dircom',
	'dirfile',
	'disablepath',
	'disablesoundint',
	'discops',
	'dmaend',
	'doblocks',
	'dochange',
	'dodoor',
	'dofade',
	'doload',
	'dolook',
	'domix',
	'dontloadseg',
	'doorway',
	'dosaveload',
	'dosometalk',
	'dosreturn',
	'doshake',
	'drawflags',
	'drawfloor',
	'drawitall',
	'dreamweb',
	'drinker',
	'droperror',
	'dropobject',
	'drunk',
	'dumpblink',
	'dumpcurrent',
	'dumpdiarykeys',
	'dumpeverything',
	'dumpkeypad',
	'dumpmap',
	'dumpmenu',
	'dumppointer',
	'dumpsymbol',
	'dumpsymbox',
	'dumptextline',
	'dumptimedtext',
	'dumpwatch',
	'dumpzoom',
	'eden',
	'edeninbath',
	'edenscdplayer',
	'emergencypurge',
	'enablesoundint',
	'endgame',
	'endgameseq',
	'endpaltostart',
	'entercode',
	'entersymbol',
	'entryanims',
	'entrytexts',
	'eraseoldobs',
	'error',
	'errormessage1',
	'errormessage2',
	'errormessage3',
	'examicon',
	'examinventory',
	'examineob',
	'examineobtext',
	'execcommand',
	'facerightway',
	'fadecalculation',
	'fadedos',
	'fadedownmon',
	'fadefromwhite',
	'fadescreenup',
	'fadescreenups',
	'fadescreenuphalf',
	'fadescreendown',
	'fadescreendowns',
	'fadescreendownhalf',
	'fadetowhite',
	'fadeupmon',
	'fadeupmonfirst',
	'fadeupyellows',
	'femalefan',
	'fillopen',
	'fillryan',
	'fillspace',
	'finalframe',
	'findallopen',
	'findallryan',
	'findexobject',
	'findfirstpath',
	'findinvpos',
	'findlen',
	'findnextcolon',
	'findobname',
	'findopenpos',
	'findormake',
	'findpathofpoint',
	'findpuztext',
	'findroominloc',
	'findsetobject',
	'findsource',
	'findtext1',
	'findxyfrompath',
	'finishedwalking',
	'folderexit',
	'folderhints',
	'foghornsound',
	'frameoutbh',
	'frameoutfx',
	'frameoutnm',
	'frameoutv',
	'gamer',
	'gates',
	'generalerror',
	'getanyad',
	'getanyaddir',
	'getback1',
	'getbackfromob',
	'getbackfromops',
	'getbacktoops',
	'getblockofpixel',
	'getdestinfo',
	'getdimension',
	'geteitherad',
	'getexad',
	'getexpos',
	'getflagunderp',
	'getfreead',
	'getkeyandlogo',
	'getlocation',
	'getmapad',
	'getnamepos',
	'getnextword',
	'getnumber',
	'getobtextstart',
	'getopenedsize',
	'getpersframe',
	'getpersontext',
	'getreelframeax',
	'getreelstart',
	'getridofall',
	'getridofpit',
	'getridofreels',
	'getridoftemp',
	'getridoftemp2',
	'getridoftemp3',
	'getridoftempcharset',
	'getridoftempsp',
	'getridoftemptext',
	'getroomdata',
	'getroomspaths',
	'getsetad',
	'gettime',
	'gettingshot',
	'getundercentre',
	'getundermenu',
	'getundertimed',
	'getunderzoom',
	'getxad',
	'getyad',
	'grafittidoor',
	'greyscalesum',
	'handclap',
	'hangon',
	'hangoncurs',
	'hangone',
	'hangonp',
	'hangonpq',
	'hangonw',
	'heavy',
	'helicopter',
	'hotelbell',
	'hotelcontrol',
	'identifyob',
	'incryanpage',
	'initialinv',
	'initialmoncols',
	'initman',
	'initrain',
	'input',
	'interupttest',
	'interviewer',
	'intoinv',
	'intro',
	'intro1text',
	'intro2text',
	'intro3text',
	'intromagic1',
	'intromagic2',
	'intromagic3',
	'intromonks1',
	'intromonks2',
	'intromusic',
	'inventory',
	'isitdescribed',
	'isitright',
	'isitworn',
	'isryanholding',
	'issetobonmap',
	'keeper',
	'kernchars',
	'keyboardread',
	'lastdest',
	'lastfolder',
	'liftnoise',
	'liftsprite',
	'loadcart',
	'loadfolder',
	'loadgame',
	'loadintroroom',
	'loadintotemp',
	'loadintotemp2',
	'loadintotemp3',
	'loadkeypad',
	'loadmenu',
	'loadnews',
	'loadold',
	'loadpalfromiff',
	'loadpersonal',
	'loadposition',
	'loadseg',
	'loadspeech',
	'loadroom',
	'loadroomssample',
	'loadsample',
	'loadsavebox',
	'loadsecondsample',
	'loadtempcharset',
	'loadtemptext',
	'loadtraveltext',
	'locationpic',
	'lockeddoorway',
	'locklightoff',
	'locklighton',
	'lockmon',
	'look',
	'lookatcard',
	'lookatplace',
	'lookininterface',
	'loopchannel0',
	'louis',
	'louischair',
	'madman',
	'madmanrun',
	'madmanstelly',
	'madmantext',
	'madmode',
	'mainman',
	'mainscreen',
	'makebackob',
	'makecaps',
	'makeheader',
	'makemainscreen',
	'makename',
	'makenextblock',
	'makesprite',
	'makeworn',
	'malefan',
	'manasleep',
	'manasleep2',
	'mansatstill',
	'maptopanel',
	'middlepanel',
	'mode640x480',
	'modifychar',
	'moneypoke',
	'monitorlogo',
	'monkandryan',
	'monks2text',
	'monkspeaking',
	'monmessage',
	'monprint',
	'moretalk',
	'mousecall',
	'movemap',
	'mugger',
	'multidump',
	'multiget',
	'multiput',
	'namestoold',
	'neterror',
	'newgame',
	'newplace',
	'nextcolon',
	'nextdest',
	'nextfolder',
	'nextsymbol',
	'nothelderror',
	'obicons',
	'obname',
	'obpicture',
	'obsthatdothings',
	'obtoinv',
	'oldtonames',
	'onedigit',
	'openeden',
	'openfile',
	'openfilefromc',
	'openfilenocheck',
	'openforsave',
	'openhoteldoor',
	'openhoteldoor2',
	'openinv',
	'openlouis',
	'openob',
	'openpoolboss',
	'openryan',
	'opensarters',
	'opentomb',
	'opentvdoor',
	'openyourneighbour',
	'othersmoker',
	'out22c',
	'outofinv',
	'outofopen',
	'paltoendpal',
	'paltostartpal',
	'panelicons1',
	'paneltomap',
	'parseblaster',
	'parser',
	'personnametext',
	'pickupconts',
	'pickupob',
	'pitinterupt',
	'pixelcheckset',
	'placefreeobject',
	'placesetobject',
	'playchannel0',
	'playchannel1',
	'playguitar',
	'plotreel',
	'poolguard',
	'powerlightoff',
	'powerlighton',
	'priest',
	'priesttext',
	'printasprite',
	'printboth',
	'printchar',
	'printcurs',
	'printdirect',
	'printlogo',
	'printmessage',
	'printmessage2',
	'printoutermon',
	'printslow',
	'printsprites',
	'printundermon',
	'processtrigger',
	'purgealocation',
	'purgeanitem',
	'putbackobstuff',
	'putundercentre',
	'putundermenu',
	'putundertimed',
	'putunderzoom',
	'quickquit',
	'quickquit2',
	'quitkey',
	'quitsymbol',
	'random',
	'randomaccess',
	'randomnum1',
	'randomnum2',
	'randomnumber',
	'read',
	'readabyte',
	'readcitypic',
	'readdesticon',
	'readfromfile',
	'readheader',
	'readkey',
	'readmouse',
	'readmouse1',
	'readmouse2',
	'readmouse3',
	'readmouse4',
	'readoneblock',
	'readsetdata',
	'realcredits',
	'receptionist',
	'reconstruct',
	'redes',
	'redrawmainscrn',
	'reelsonscreen',
	'reexfrominv',
	'reexfromopen',
	'reminders',
	'removeemm',
	'removefreeobject',
	'removesetobject',
	'removeobfrominv',
	'resetkeyboard',
	'resetlocation',
	'restoreall',
	'restoreems',
	'restorereels',
	'rockstar',
	'rollem',
	'rollendcredits',
	'rollendcredits2',
	'roomname',
	'runendseq',
	'runtap',
	'runintroseq',
	'saveems',
	'savefileread',
	'savefilewrite',
	'savegame',
	'saveload',
	'saveposition',
	'saveseg',
	'scanfornames',
	'screenupdate',
	'scrollmonitor',
	'searchforfiles',
	'searchforsame',
	'searchforstring',
	'security',
	'seecommandtail',
	'selectlocation',
	'selectob',
	'selectopenob',
	'selectslot',
	'selectslot2',
	'set16colpalette',
	'setallchanges',
	'setbotleft',
	'setbotright',
	'setkeyboardint',
	'setlocation',
	'setmode',
	'setmouse',
	'setpickup',
	'setsoundoff',
	'settopleft',
	'settopright',
	'setupemm',
	'setuppit',
	'setuptimedtemp',
	'setuptimeduse',
	'setwalk',
	'showallex',
	'showallfree',
	'showallobs',
	'showarrows',
	'showblink',
	'showbyte',
	'showcity',
	'showcurrentfile',
	'showdecisions',
	'showdiary',
	'showdiarykeys',
	'showdiarypage',
	'showdiscops',
	'showexit',
	'showfirstuse',
	'showfolder',
	'showframe',
	'showgamereel',
	'showgroup',
	'showgun',
	'showicon',
	'showkeypad',
	'showkeys',
	'showleftpage',
	'showloadops',
	'showmainops',
	'showman',
	'showmenu',
	'showmonk',
	'shownames',
	'showopbox',
	'showoutermenu',
	'showouterpad',
	'showpanel',
	'showpcx',
	'showpointer',
	'showpuztext',
	'showrain',
	'showreelframe',
	'showrightpage',
	'showryanpage',
	'showsaveops',
	'showseconduse',
	'showslots',
	'showsymbol',
	'showtime',
	'showwatch',
	'showword',
	'signon',
	'singlekey',
	'sitdowninbar',
	'slabdoora',
	'slabdoorb',
	'slabdoorc',
	'slabdoord',
	'slabdoore',
	'slabdoorf',
	'smallcandle',
	'smokebloke',
	'soldier1',
	'sortoutmap',
	'soundend',
	'soundonreels',
	'soundstartup',
	'sparky',
	'sparkydrip',
	'splitintolines',
	'spriteupdate',
	'standardload',
	'startdmablock',
	'startloading',
	'startpaltoend',
	'starttalk',
	'startup',
	'startup1',
	'steady',
	'storeit',
	'swapwithinv',
	'swapwithopen',
	'switchryanoff',
	'switchryanon',
	'talk',
	'tattooman',
	'textforend',
	'textformonk',
	'titles',
	'train',
	'transfercontoex',
	'transferinv',
	'transfermap',
	'transfertext',
	'transfertoex',
	'trapdoor',
	'triggermessage',
	'trysoundalloc',
	'turnanypathoff',
	'turnanypathon',
	'turnonpower',
	'turnpathoff',
	'turnpathon',
	'twodigitnum',
	'undertextline',
	'updatepeople',
	'updatesymboltop',
	'updatesymbolbot',
	'usealtar',
	'useaxe',
	'usebalcony',
	'usebuttona',
	'usecardreader1',
	'usecardreader2',
	'usecardreader3',
	'usecart',
	'usecashcard',
	'usecharset1',
	'usechurchgate',
	'usechurchhole',
	'useclearbox',
	'usecontrol',
	'usecooker',
	'usecoveredbox',
	'usediary',
	'usedryer',
	'useelevator1',
	'useelevator2',
	'useelevator3',
	'useelevator4',
	'useelevator5',
	'useelvdoor',
	'usefullcart',
	'usegun',
	'usehandle',
	'usehole',
	'usekey',
	'useladder',
	'useladderb',
	'uselighter',
	'usehatch',
	'usemenu',
	'usemon',
	'useobject',
	'useopenbox',
	'useopened',
	'usepipe',
	'useplate',
	'useplinth',
	'usepoolreader',
	'userailing',
	'useroutine',
	'useshield',
	'useslab',
	'usestereo',
	'usetempcharset',
	'usetext',
	'usetimedtext',
	'usetrainer',
	'usewall',
	'usewinch',
	'usewindow',
	'usewire',
	'viewfolder',
	'vsync',
	'volumeadjust',
	'waitframes',
	'walkandexamine',
	'walking',
	'walkintoroom',
	'walktotext',
	'watchcount',
	'watchreel',
	'wearwatch',
	'wearshades',
	'wheelsound',
	'widedoor',
	'width160',
	'withwhat',
	'workoutframes',
	'worktoscreen',
	'worktoscreenm',
	'wornerror',
	'zoom',
	'zoomicon',
	'zoomonoff',
	], skip_output = [
	# These functions are processed but not output
	], skip_dispatch_call = True, skip_addr_constants = True,
	header_omit_blacklisted = True,
	function_name_remapping = {
	# This remaps the function naming at output for readability
	'aboutturn' : 'aboutTurn',
	'accesslightoff' : 'accessLightOff',
	'accesslighton' : 'accessLightOn',
	'actualload' : 'actualLoad',
	'actualsave' : 'actualSave',
	'addalong' : 'addAlong',
	'additionaltext' : 'additionalText',
	'addlength' : 'addLength',
	'addtopeoplelist' : 'addToPeopleList',
	'addtopresslist' : 'addToPressList',
	'adjustdown' : 'adjustDown',
	'adjustleft' : 'adjustLeft',
	'adjustlen' : 'adjustLen',
	'adjustright' : 'adjustRight',
	'adjustup' : 'adjustUp',
	'advisor' : 'advisor',
	'afterintroroom' : 'afterIntroRoom',
	'afternewroom' : 'afterNewRoom',
	'aide' : 'aide',
	'alleybarksound' : 'alleyBarkSound',
	'allocatebuffers' : 'allocateBuffers',
	'allocateload' : 'allocateLoad',
	'allocatemem' : 'allocateMem',
	'allocatework' : 'allocateWork',
	'allpointer' : 'allPointer',
	'animpointer' : 'animPointer',
	'atmospheres' : 'atmospheres',
	'attendant' : 'attendant',
	'autoappear' : 'autoAppear',
	'autolook' : 'autoLook',
	'autosetwalk' : 'autoSetWalk',
	'backobject' : 'backObject',
	'bartender' : 'bartender',
	'barwoman' : 'barWoman',
	'biblequote' : 'bibleQuote',
	'blank' : 'blank',
	'blockget' : 'blockGet',
	'blocknametext' : 'blockNameText',
	'bossman' : 'bossMan',
	'bothchannels' : 'bothChannels',
	'businessman' : 'businessMan',
	'buttoneight' : 'buttonEight',
	'buttonenter' : 'buttonEnter',
	'buttonfive' : 'buttonFive',
	'buttonfour' : 'buttonFour',
	'buttonnine' : 'buttonNine',
	'buttonnought' : 'buttonNought',
	'buttonone' : 'buttonOne',
	'buttonpress' : 'buttonPress',
	'buttonseven' : 'buttonSeven',
	'buttonsix' : 'buttonSix',
	'buttonthree' : 'buttonThree',
	'buttontwo' : 'buttonTwo',
	'calcfrframe' : 'calcFrFrame',
	'calcmapad' : 'calcMapAd',
	'calledensdlift' : 'callEdensDLift',
	'calledenslift' : 'callEdensLift',
	'callhotellift' : 'callHotelLift',
	'cancelch0' : 'cancelCh0',
	'cancelch1' : 'cancelCh1',
	'candles' : 'candles',
	'candles1' : 'candles1',
	'candles2' : 'candles2',
	'cantdrop' : 'cantDrop',
	'carparkdrip' : 'carParkDrip',
	'channel0only' : 'channel0only',
	'channel0tran' : 'channel0Tran',
	'channel1only' : 'channel1only',
	'checkbasemem' : 'checkBaseMem',
	'checkcoords' : 'checkCoords',
	'checkdest' : 'checkDest',
	'checkforemm' : 'checkForEMM',
	'checkforexit' : 'checkForExit',
	'checkforshake' : 'checkForShake',
	'checkifex' : 'checkIfEx',
	'checkiffree' : 'checkIfFree',
	'checkifpathison' : 'checkIfPathIsOn',
	'checkifperson' : 'checkIfPerson',
	'checkifset' : 'checkIfSet',
	'checkinput' : 'checkInput',
	'checkinside' : 'checkInside',
	'checkobjectsize' : 'checkObjectSize',
	'checkone' : 'checkOne',
	'checksoundint' : 'checkSoundInt',
	'checkspeed' : 'checkSpeed',
	'chewy' : 'chewy',
	'clearbeforeload' : 'clearBeforeLoad',
	'clearbuffers' : 'clearBuffers',
	'clearchanges' : 'clearChanges',
	'clearendpal' : 'clearEndPal',
	'clearpalette' : 'clearPalette',
	'clearreels' : 'clearReels',
	'clearrest' : 'clearRest',
	'clearsprites' : 'clearSprites',
	'clearstartpal' : 'clearStartPal',
	'clearwork' : 'clearWork',
	'closefile' : 'closeFile',
	'commandonly' : 'commandOnly',
	'commandwithob' : 'commandWithOb',
	'constant' : 'constant',
	'convertkey' : 'convertKey',
	'convicons' : 'convIcons',
	'convnum' : 'convNum',
	'copper' : 'copper',
	'copyname' : 'copyName',
	'createfile' : 'createFile',
	'createname' : 'createName',
	'createpanel' : 'createPanel',
	'createpanel2' : 'createPanel2',
	'credits' : 'credits',
	'crosshair' : 'crossHair',
	'deallocatemem' : 'deallocateMem',
	'dealwithspecial' : 'dealWithSpecial',
	'decide' : 'decide',
	'delchar' : 'delChar',
	'delcurs' : 'delCurs',
	'deleteexframe' : 'deleteExFrame',
	'deleteexobject' : 'deleteExObject',
	'deleteextext' : 'deleteExText',
	'deletetaken' : 'deleteTaken',
	'deleverything' : 'delEverything',
	'delpointer' : 'delPointer',
	'delsprite' : 'delSprite',
	'deltextline' : 'delTextLine',
	'delthisone' : 'delThisOne',
	'describeob' : 'describeOb',
	'destselect' : 'destSelect',
	'diarykeyn' : 'diaryKeyN',
	'diarykeyp' : 'diaryKeyP',
	'dircom' : 'dirCom',
	'dirfile' : 'dirFile',
	'disablepath' : 'disablePath',
	'disablesoundint' : 'disableSoundInt',
	'discops' : 'discOps',
	'dmaend' : 'DMAEnd',
	'doblocks' : 'doBlocks',
	'dochange' : 'doChange',
	'dodoor' : 'doDoor',
	'doload' : 'doLoad',
	'dolook' : 'doLook',
	'domix' : 'doMix',
	'dontloadseg' : 'dontLoadSeg',
	'dosaveload' : 'doSaveLoad',
	'doshake' : 'doShake',
	'dosometalk' : 'doSomeTalk',
	'dosreturn' : 'DOSReturn',
	'drawflags' : 'drawFlags',
	'drawfloor' : 'drawFloor',
	'drawitall' : 'drawItAll',
	'dreamweb' : 'dreamweb',
	'drinker' : 'drinker',
	'droperror' : 'dropError',
	'dropobject' : 'dropObject',
	'drunk' : 'drunk',
	'dumpblink' : 'dumpBlink',
	'dumpdiarykeys' : 'dumpDiaryKeys',
	'dumpeverything' : 'dumpEverything',
	'dumpkeypad' : 'dumpKeypad',
	'dumpmap' : 'dumpMap',
	'dumpmenu' : 'dumpMenu',
	'dumppointer' : 'dumpPointer',
	'dumpsymbol' : 'dumpSymbol',
	'dumpsymbox' : 'dumpSymBox',
	'dumptextline' : 'dumpTextLine',
	'dumptimedtext' : 'dumpTimedText',
	'dumpwatch' : 'dumpWatch',
	'dumpzoom' : 'dumpZoom',
	'eden' : 'eden',
	'edeninbath' : 'edenInBath',
	'edenscdplayer' : 'edensCDPlayer',
	'emergencypurge' : 'emergencyPurge',
	'enablesoundint' : 'enableSoundInt',
	'endgame' : 'endGame',
	'endgameseq' : 'endGameSeq',
	'endpaltostart' : 'endPalToStart',
	'entercode' : 'enterCode',
	'entersymbol' : 'enterSymbol',
	'entryanims' : 'entryAnims',
	'entrytexts' : 'entryTexts',
	'eraseoldobs' : 'eraseOldObs',
	'error' : 'error',
	'errormessage1' : 'errorMessage1',
	'errormessage2' : 'errorMessage2',
	'errormessage3' : 'errorMessage3',
	'examicon' : 'examIcon',
	'examineob' : 'examineOb',
	'examineobtext' : 'examineObText',
	'examinventory' : 'examineInventory',
	'execcommand' : 'execCommand',
	'facerightway' : 'faceRightWay',
	'fadecalculation' : 'fadeCalculation',
	'fadedownmon' : 'fadeDownMon',
	'fadefromwhite' : 'fadeFromWhite',
	'fadescreendown' : 'fadeScreenDown',
	'fadescreendownhalf' : 'fadeScreenDownHalf',
	'fadescreendowns' : 'fadeScreenDowns',
	'fadescreenup' : 'fadeScreenUp',
	'fadescreenuphalf' : 'fadeScreenUpHalf',
	'fadescreenups' : 'fadeScreenUps',
	'fadetowhite' : 'fadeToWhite',
	'fadeupmon' : 'fadeUpMon',
	'fadeupmonfirst' : 'fadeUpMonFirst',
	'fadeupyellows' : 'fadeUpYellows',
	'femalefan' : 'femaleFan',
	'fillopen' : 'fillOpen',
	'fillryan' : 'fillRyan',
	'fillspace' : 'fillSpace',
	'finalframe' : 'finalFrame',
	'findallopen' : 'findAllOpen',
	'findallryan' : 'findAllRyan',
	'findexobject' : 'findExObject',
	'findfirstpath' : 'findFirstPath',
	'findinvpos' : 'findInvPos',
	'findlen' : 'findLen',
	'findnextcolon' : 'findNextColon',
	'findobname' : 'findObName',
	'findopenpos' : 'findOpenPos',
	'findormake' : 'findOrMake',
	'findpathofpoint' : 'findPathOfPoint',
	'findpuztext' : 'findPuzText',
	'findroominloc' : 'findRoomInLoc',
	'findsetobject' : 'findSetObject',
	'findsource' : 'findSource',
	'findtext1' : 'findText1',
	'findxyfrompath' : 'findXYFromPath',
	'finishedwalking' : 'finishedWalking',
	'foghornsound' : 'foghornSound',
	'folderexit' : 'folderExit',
	'folderhints' : 'folderHints',
	'frameoutbh' : 'frameOutbh',
	'frameoutfx' : 'frameOutfx',
	'frameoutnm' : 'frameOutnm',
	'frameoutv' : 'frameOutV',
	'gamer' : 'gamer',
	'gates' : 'gates',
	'generalerror' : 'generalError',
	'getanyad' : 'getAnyAd',
	'getanyaddir' : 'getAnyAdDir',
	'getback1' : 'getBack1',
	'getbackfromob' : 'getBackFromOb',
	'getbackfromops' : 'getBackFromOps',
	'getbacktoops' : 'getBackToOps',
	'getblockofpixel' : 'getBlockOfPixel',
	'getdestinfo' : 'getDestInfo',
	'getdimension' : 'getDimension',
	'geteitherad' : 'getEitherAd',
	'getexad' : 'getExAd',
	'getexpos' : 'getExPos',
	'getflagunderp' : 'getFlagUnderP',
	'getfreead' : 'getFreeAd',
	'getkeyandlogo' : 'getKeyAndLogo',
	'getlocation' : 'getLocation',
	'getmapad' : 'getMapAd',
	'getnamepos' : 'getNamePos',
	'getnextword' : 'getNextWord',
	'getnumber' : 'getNumber',
	'getobtextstart' : 'getObTextStart',
	'getopenedsize' : 'getOpenedSize',
	'getpersframe' : 'getPersFrame',
	'getpersontext' : 'getPersonText',
	'getreelframeax' : 'getReelFrameAX',
	'getreelstart' : 'getReelStart',
	'getridofall' : 'getRidOfAll',
	'getridofpit' : 'getRidOfPit',
	'getridofpitsetuppit' : 'getRidOfPitSetupPit',
	'getridofreels' : 'getRidOfReels',
	'getridoftemp' : 'getRidOfTemp',
	'getridoftemp2' : 'getRidOfTemp2',
	'getridoftemp3' : 'getRidOfTemp3',
	'getridoftempcharset' : 'getRidOfTempCharset',
	'getridoftempsp' : 'getRidOfTempsP',
	'getridoftemptext' : 'getRidOfTempText',
	'getroomdata' : 'getRoomData',
	'getroomspaths' : 'getRoomsPaths',
	'getsetad' : 'getSetAd',
	'gettime' : 'getTime',
	'gettingshot' : 'gettingShot',
	'getundercentre' : 'getUnderCentre',
	'getundermenu' : 'getUnderMenu',
	'getundertimed' : 'getUnderTimed',
	'getunderzoom' : 'getUnderZoom',
	'getxad' : 'getXAd',
	'getyad' : 'getYAd',
	'grafittidoor' : 'grafittiDoor',
	'handclap' : 'handClap',
	'hangon' : 'hangOn',
	'hangoncurs' : 'hangOnCurs',
	'hangone' : 'hangOne',
	'hangonp' : 'hangOnP',
	'hangonpq' : 'hangOnPQ',
	'hangonw' : 'hangOnW',
	'heavy' : 'heavy',
	'helicopter' : 'helicopter',
	'hotelbell' : 'hotelBell',
	'hotelcontrol' : 'hotelControl',
	'identifyob' : 'identifyOb',
	'incryanpage' : 'incRyanPage',
	'initialinv' : 'initialInv',
	'initialmoncols' : 'initialMonCols',
	'initman' : 'initMan',
	'initrain' : 'initRain',
	'interupttest' : 'interruptTest',
	'interviewer' : 'interviewer',
	'intoinv' : 'inToInv',
	'intro' : 'intro',
	'intro1text' : 'intro1Text',
	'intro2text' : 'intro2Text',
	'intro3text' : 'intro3Text',
	'intromagic1' : 'introMagic1',
	'intromagic2' : 'introMagic2',
	'intromagic3' : 'introMagic3',
	'intromonks1' : 'introMonks1',
	'intromonks2' : 'introMonks2',
	'intromusic' : 'introMusic',
	'inventory' : 'inventory',
	'isitdescribed' : 'isItDescribed',
	'isitright' : 'isItRight',
	'isitworn' : 'isItWorn',
	'isryanholding' : 'isRyanHolding',
	'issetobonmap' : 'isSetObOnMap',
	'keeper' : 'keeper',
	'kernchars' : 'kernChars',
	'keyboardread' : 'keyboardRead',
	'lastdest' : 'lastDest',
	'lastfolder' : 'lastFolder',
	'liftnoise' : 'liftNoise',
	'liftsprite' : 'liftSprite',
	'loadcart' : 'loadCart',
	'loadfolder' : 'loadFolder',
	'loadgame' : 'loadGame',
	'loadintotemp' : 'loadIntoTemp',
	'loadintotemp2' : 'loadIntoTemp2',
	'loadintotemp3' : 'loadIntoTemp3',
	'loadintroroom' : 'loadIntroRoom',
	'loadkeypad' : 'loadKeypad',
	'loadmenu' : 'loadMenu',
	'loadnews' : 'loadNews',
	'loadold' : 'loadOld',
	'loadpalfromiff' : 'loadPalFromIFF',
	'loadpersonal' : 'loadPersonal',
	'loadposition' : 'loadPosition',
	'loadroom' : 'loadRoom',
	'loadroomssample' : 'loadRoomsSample',
	'loadsample' : 'loadSample',
	'loadsavebox' : 'loadSaveBox',
	'loadsecondsample' : 'loadSecondSample',
	'loadseg' : 'loadSeg',
	'loadspeech' : 'loadSpeech',
	'loadtempcharset' : 'loadTempCharset',
	'loadtemptext' : 'loadTempText',
	'loadtraveltext' : 'loadTravelText',
	'locationpic' : 'locationPic',
	'lockeddoorway' : 'lockedDoorway',
	'locklightoff' : 'lockLightOff',
	'locklighton' : 'lockLightOn',
	'lockmon' : 'lockMon',
	'lookatcard' : 'lookAtCard',
	'lookatplace' : 'lookAtPlace',
	'lookininterface' : 'lookInInterface',
	'loopchannel0' : 'loopChannel0',
	'louis' : 'louis',
	'louischair' : 'louisChair',
	'madman' : 'madman',
	'madmanrun' : 'madmanRun',
	'madmanstelly' : 'madmansTelly',
	'madmantext' : 'madmanText',
	'madmode' : 'madMode',
	'mainman' : 'mainMan',
	'mainscreen' : 'mainScreen',
	'makebackob' : 'makeBackOb',
	'makecaps' : 'makeCaps',
	'makeheader' : 'makeHeader',
	'makemainscreen' : 'makeMainScreen',
	'makename' : 'makeName',
	'makenextblock' : 'makeNextBlock',
	'makesprite' : 'makeSprite',
	'makeworn' : 'makeWorn',
	'malefan' : 'maleFan',
	'manasleep' : 'manAsleep',
	'manasleep2' : 'manAsleep2',
	'mansatstill' : 'manSatStill',
	'maptopanel' : 'mapToPanel',
	'middlepanel' : 'middlePanel',
	'mode640x480' : 'mode640x480',
	'modifychar' : 'modifyChar',
	'moneypoke' : 'moneyPoke',
	'monitorlogo' : 'monitorLogo',
	'monkandryan' : 'monkAndRyan',
	'monks2text' : 'monks2text',
	'monkspeaking' : 'monkSpeaking',
	'monmessage' : 'monMessage',
	'monprint' : 'monPrint',
	'moretalk' : 'moreTalk',
	'mousecall' : 'mouseCall',
	'movemap' : 'moveMap',
	'mugger' : 'mugger',
	'multidump' : 'multiDump',
	'multiget' : 'multiGet',
	'multiput' : 'multiPut',
	'namestoold' : 'namesToOld',
	'neterror' : 'netError',
	'newgame' : 'newGame',
	'newplace' : 'newPlace',
	'nextcolon' : 'nextColon',
	'nextdest' : 'nextDest',
	'nextfolder' : 'nextFolder',
	'nextsymbol' : 'nextSymbol',
	'obicons' : 'obIcons',
	'obname' : 'obName',
	'obpicture' : 'obPicture',
	'obsthatdothings' : 'obsThatDoThings',
	'obtoinv' : 'obToInv',
	'oldtonames' : 'oldToNames',
	'onedigit' : 'oneDigit',
	'openeden' : 'openEden',
	'openfile' : 'openFile',
	'openfilefromc' : 'openFileFromC',
	'openfilenocheck' : 'openFileNoCheck',
	'openforsave' : 'openForSave',
	'openhoteldoor' : 'openHotelDoor',
	'openhoteldoor2' : 'openHotelDoor2',
	'openinv' : 'openInv',
	'openlouis' : 'openLouis',
	'openob' : 'openOb',
	'openpoolboss' : 'openPoolBoss',
	'openryan' : 'openRyan',
	'opensarters' : 'openSarters',
	'opentomb' : 'openTomb',
	'opentvdoor' : 'openTVDoor',
	'openyourneighbour' : 'openYourNeighbour',
	'othersmoker' : 'otherSmoker',
	'out22c' : 'out22c',
	'outofinv' : 'outOfInv',
	'outofopen' : 'outOfOpen',
	'paltoendpal' : 'palToEndPal',
	'paltostartpal' : 'palToStartPal',
	'panelicons1' : 'panelIcons1',
	'paneltomap' : 'panelToMap',
	'parseblaster' : 'parseBlaster',
	'parser' : 'parser',
	'personnametext' : 'personNameText',
	'pickupconts' : 'pickupConts',
	'pickupob' : 'pickupOb',
	'pitinterupt' : 'pitInterrupt',
	'pixelcheckset' : 'pixelCheckSet',
	'placefreeobject' : 'placeFreeObject',
	'placesetobject' : 'placeSetObject',
	'playchannel0' : 'playChannel0',
	'playchannel1' : 'playChannel1',
	'playguitar' : 'playGuitar',
	'plotreel' : 'plotReel',
	'poolguard' : 'poolGuard',
	'powerlightoff' : 'powerLightOff',
	'powerlighton' : 'powerLightOn',
	'priest' : 'priest',
	'priesttext' : 'priestText',
	'printasprite' : 'printASprite',
	'printboth' : 'printBoth',
	'printchar' : 'printChar',
	'printcurs' : 'printCurs',
	'printdirect' : 'printDirect',
	'printlogo' : 'printLogo',
	'printmessage' : 'printMessage',
	'printmessage2' : 'printMessage2',
	'printoutermon' : 'printOuterMon',
	'printslow' : 'printSlow',
	'printsprites' : 'printSprites',
	'printundermon' : 'printUnderMon',
	'processtrigger' : 'processTrigger',
	'purgealocation' : 'purgeALocation',
	'purgeanitem' : 'purgeAnItem',
	'putbackobstuff' : 'putBackObStuff',
	'putundercentre' : 'putUnderCentre',
	'putundermenu' : 'putUnderMenu',
	'putundertimed' : 'putUnderTimed',
	'putunderzoom' : 'putUnderZoom',
	'quickquit' : 'quickQuit',
	'quickquit2' : 'quickQuit2',
	'quitkey' : 'quitKey',
	'quitsymbol' : 'quitSymbol',
	'random' : 'random',
	'randomaccess' : 'randomAccess',
	'randomnum1' : 'randomNum1',
	'randomnum2' : 'randomNum2',
	'randomnumber' : 'randomNumber',
	'read' : 'read',
	'readabyte' : 'readAByte',
	'readcitypic' : 'readCityPic',
	'readdesticon' : 'readDestIcon',
	'readfromfile' : 'readFromFile',
	'readheader' : 'readHeader',
	'readkey' : 'readKey',
	'readmouse' : 'readMouse',
	'readmouse1' : 'readMouse1',
	'readmouse2' : 'readMouse2',
	'readmouse3' : 'readMouse3',
	'readmouse4' : 'readMouse4',
	'readoneblock' : 'readOneBlock',
	'readsetdata' : 'readSetData',
	'realcredits' : 'realCredits',
	'receptionist' : 'receptionist',
	'redes' : 'redes',
	'redrawmainscrn' : 'redrawMainScrn',
	'reelsonscreen' : 'reelsOnScreen',
	'reexfrominv' : 'reExFromInv',
	'reexfromopen' : 'reExFromOpen',
	'reminders' : 'reminders',
	'removeemm' : 'removeEMM',
	'removefreeobject' : 'removeFreeObject',
	'removeobfrominv' : 'removeObFromInv',
	'removesetobject' : 'removeSetObject',
	'resetkeyboard' : 'resetKeyboard',
	'resetlocation' : 'resetLocation',
	'restoreall' : 'restoreAll',
	'restoreems' : 'restoreEMS',
	'restorereels' : 'restoreReels',
	'rockstar' : 'rockstar',
	'rollem' : 'rollEm',
	'rollendcredits' : 'rollEndCredits',
	'rollendcredits2' : 'rollEndCredits2',
	'roomname' : 'roomName',
	'runendseq' : 'runEndSeq',
	'runintroseq' : 'runIntroSeq',
	'runtap' : 'runTap',
	'saveems' : 'saveEMS',
	'savefileread' : 'saveFileRead',
	'savefilewrite' : 'savefileWrite',
	'savegame' : 'saveGame',
	'saveload' : 'saveLoad',
	'saveposition' : 'savePosition',
	'saveseg' : 'saveSeg',
	'scanfornames' : 'scanForNames',
	'screenupdate' : 'screenUpdate',
	'scrollmonitor' : 'scrollMonitor',
	'searchforfiles' : 'searchForFiles',
	'searchforsame' : 'searchForSame',
	'searchforstring' : 'searchForString',
	'security' : 'security',
	'seecommandtail' : 'seeCommandTail',
	'selectlocation' : 'selectLocation',
	'selectob' : 'selectOb',
	'selectopenob' : 'selectOpenOb',
	'selectslot' : 'selectSlot',
	'selectslot2' : 'selectSlot2',
	'set16colpalette' : 'set16ColPalette',
	'setallchanges' : 'setAllChanges',
	'setbotleft' : 'setBotLeft',
	'setbotright' : 'setBotRight',
	'setkeyboardint' : 'setKeyboardInt',
	'setlocation' : 'setLocation',
	'setmode' : 'setMode',
	'setmouse' : 'setMouse',
	'setpickup' : 'setPickup',
	'setsoundoff' : 'setSoundOff',
	'settopleft' : 'setTopLeft',
	'settopright' : 'setTopRight',
	'setupemm' : 'setupEMM',
	'setuppit' : 'setupPit',
	'setuptimedtemp' : 'setupTimedTemp',
	'setuptimeduse' : 'setupTimedUse',
	'setwalk' : 'setWalk',
	'showallex' : 'showAllEx',
	'showallfree' : 'showAllFree',
	'showallobs' : 'showAllObs',
	'showarrows' : 'showArrows',
	'showblink' : 'showBlink',
	'showbyte' : 'showByte',
	'showcity' : 'showCity',
	'showcurrentfile' : 'showCurrentFile',
	'showdecisions' : 'showDecisions',
	'showdiary' : 'showDiary',
	'showdiarykeys' : 'showDiaryKeys',
	'showdiarypage' : 'showDiaryPage',
	'showdiscops' : 'showDiscOps',
	'showexit' : 'showExit',
	'showfirstuse' : 'showFirstUse',
	'showfolder' : 'showFolder',
	'showframe' : 'showFrame',
	'showgamereel' : 'showGameReel',
	'showgroup' : 'showGroup',
	'showgun' : 'showGun',
	'showicon' : 'showIcon',
	'showkeypad' : 'showKeypad',
	'showkeys' : 'showKeys',
	'showleftpage' : 'showLeftPage',
	'showloadops' : 'showLoadOps',
	'showmainops' : 'showMainOps',
	'showman' : 'showMan',
	'showmenu' : 'showMenu',
	'showmonk' : 'showMonk',
	'shownames' : 'showNames',
	'showopbox' : 'showOpBox',
	'showoutermenu' : 'showOuterMenu',
	'showouterpad' : 'showOuterPad',
	'showpanel' : 'showPanel',
	'showpcx' : 'showPCX',
	'showpointer' : 'showPointer',
	'showpuztext' : 'showPuzText',
	'showrain' : 'showRain',
	'showreelframe' : 'showReelFrame',
	'showrightpage' : 'showRightPage',
	'showryanpage' : 'showRyanPage',
	'showsaveops' : 'showSaveOps',
	'showseconduse' : 'showSecondUse',
	'showslots' : 'showSlots',
	'showsymbol' : 'showSymbol',
	'showtime' : 'showTime',
	'showwatch' : 'showWatch',
	'showword' : 'showWord',
	'signon' : 'signOn',
	'singlekey' : 'singleKey',
	'sitdowninbar' : 'sitDownInBar',
	'slabdoora' : 'slabDoorA',
	'slabdoorb' : 'slabDoorB',
	'slabdoorc' : 'slabDoorC',
	'slabdoord' : 'slabDoorD',
	'slabdoore' : 'slabDoorE',
	'slabdoorf' : 'slabDoorF',
	'smallcandle' : 'smallCandle',
	'smokebloke' : 'smokeBloke',
	'soldier1' : 'soldier1',
	'sortoutmap' : 'sortOutMap',
	'soundend' : 'soundEnd',
	'soundonreels' : 'soundOnReels',
	'soundstartup' : 'soundStartup',
	'sparky' : 'sparky',
	'sparkydrip' : 'sparkyDrip',
	'splitintolines' : 'splitIntoLines',
	'spriteupdate' : 'spriteUpdate',
	'standardload' : 'standardLoad',
	'startdmablock' : 'startDMABlock',
	'startloading' : 'startLoading',
	'startpaltoend' : 'startPalToEnd',
	'starttalk' : 'startTalk',
	'steady' : 'steady',
	'storeit' : 'storeIt',
	'swapwithinv' : 'swapWithInv',
	'swapwithopen' : 'swapWithOpen',
	'switchryanoff' : 'switchRyanOff',
	'switchryanon' : 'switchRyanOn',
	'talk' : 'talk',
	'tattooman' : 'tattooMan',
	'textforend' : 'textForEnd',
	'textformonk' : 'textForMonk',
	'titles' : 'titles',
	'train' : 'train',
	'transfercontoex' : 'transferConToEx',
	'transferinv' : 'transferInv',
	'transfermap' : 'transferMap',
	'transfertext' : 'transferText',
	'transfertoex' : 'transferToEx',
	'trapdoor' : 'trapDoor',
	'triggermessage' : 'triggerMessage',
	'trysoundalloc' : 'trySoundAlloc',
	'turnanypathoff' : 'turnAnyPathOff',
	'turnanypathon' : 'turnAnyPathOn',
	'turnonpower' : 'turnOnPower',
	'turnpathoff' : 'turnPathOff',
	'turnpathon' : 'turnPathOn',
	'twodigitnum' : 'twoDigitNum',
	'undertextline' : 'underTextLine',
	'updatepeople' : 'updatePeople',
	'updatesymbolbot' : 'updateSymbolBot',
	'updatesymboltop' : 'updateSymbolTop',
	'usealtar' : 'useAltar',
	'useaxe' : 'useAxe',
	'usebalcony' : 'useBalcony',
	'usebuttona' : 'useButtonA',
	'usecardreader1' : 'useCardReader1',
	'usecardreader2' : 'useCardReader2',
	'usecardreader3' : 'useCardReader3',
	'usecart' : 'useCart',
	'usecashcard' : 'useCashCard',
	'usecharset1' : 'useCharset1',
	'usechurchgate' : 'useChurchGate',
	'usechurchhole' : 'useChurchHole',
	'useclearbox' : 'useClearBox',
	'usecontrol' : 'useControl',
	'usecooker' : 'useCooker',
	'usecoveredbox' : 'useCoveredBox',
	'usediary' : 'useDiary',
	'usedryer' : 'useDryer',
	'useelevator1' : 'useElevator1',
	'useelevator2' : 'useElevator2',
	'useelevator3' : 'useElevator3',
	'useelevator4' : 'useElevator4',
	'useelevator5' : 'useElevator5',
	'useelvdoor' : 'useElvDoor',
	'usefullcart' : 'useFullCart',
	'usegun' : 'useGun',
	'usehandle' : 'useHandle',
	'usehatch' : 'useHatch',
	'usehole' : 'useHole',
	'usekey' : 'useKey',
	'useladder' : 'useLadder',
	'useladderb' : 'useLadderB',
	'uselighter' : 'useLighter',
	'usemenu' : 'useMenu',
	'usemon' : 'useMon',
	'useobject' : 'useObject',
	'useopenbox' : 'useOpenBox',
	'useopened' : 'useOpened',
	'usepipe' : 'usePipe',
	'useplate' : 'usePlate',
	'useplinth' : 'usePlinth',
	'usepoolreader' : 'usePoolReader',
	'userailing' : 'useRailing',
	'useroutine' : 'useRoutine',
	'useshield' : 'useShield',
	'useslab' : 'useSlab',
	'usestereo' : 'useStereo',
	'usetempcharset' : 'useTempCharset',
	'usetext' : 'useText',
	'usetimedtext' : 'useTimedText',
	'usetrainer' : 'useTrainer',
	'usewall' : 'useWall',
	'usewinch' : 'useWinch',
	'usewindow' : 'useWindow',
	'usewire' : 'useWire',
	'viewfolder' : 'viewFolder',
	'vsync' : 'vSync',
	'waitframes' : 'waitFrames',
	'walkandexamine' : 'walkAndExamine',
	'walkintoroom' : 'walkIntoRoom',
	'walktotext' : 'walkToText',
	'watchcount' : 'watchCount',
	'watchreel' : 'watchReel',
	'wearshades' : 'wearShades',
	'wearwatch' : 'wearWatch',
	'wheelsound' : 'wheelSound',
	'widedoor' : 'wideDoor',
	'withwhat' : 'withWhat',
	'worktoscreen' : 'workToScreen',
	'worktoscreenm' : 'workToScreenM',
	'wornerror' : 'wornError',
	'zoomicon' : 'zoomIcon',
	'zoomonoff' : 'zoomOnOff',
	})
generator.generate('dreamweb') #start routine
