public virtual RCOState execute(RCOState state, UmdVideoPlayer umdVideoPlayer, string resourceName) { if (pVSMXTable != RCO_NULL_PTR) { StringBuilder vsmxName = new StringBuilder(); VSMX vsmx = new VSMX(readVSMX(pVSMXTable, vsmxName), vsmxName.ToString()); state.interpreter.VSMX = vsmx; state.globalVariables = GlobalVariables.create(state.interpreter); state.globalVariables.setPropertyValue(Controller.objectName, state.controller); state.globalVariables.setPropertyValue(MoviePlayer.objectName, MoviePlayer.create(state.interpreter, umdVideoPlayer, state.controller)); state.globalVariables.setPropertyValue(Resource.objectName, Resource.create(state.interpreter, umdVideoPlayer.RCODisplay, state.controller, mainTable)); state.globalVariables.setPropertyValue(pspsharp.format.rco.vsmx.objects.Math.objectName, pspsharp.format.rco.vsmx.objects.Math.create(state.interpreter)); state.interpreter.run(state.globalVariables); } return(state); }