1 /* ResidualVM - A 3D game interpreter 2 * 3 * ResidualVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef GRIM_LUA_V1 24 #define GRIM_LUA_V1 25 26 #include "engines/grim/lua.h" 27 28 // Windows.h badness: Remove #defines to the following Win32 API MultiByte/Unicode functions. 29 #ifdef GetDiskFreeSpace 30 #undef GetDiskFreeSpace 31 #endif 32 33 #ifdef PlaySound 34 #undef PlaySound 35 #endif 36 37 namespace Grim { 38 39 class Lua_V1 : public LuaBase { 40 public: 41 typedef Lua_V1 LuaClass; 42 void registerOpcodes() override; 43 void boot() override; 44 void postRestoreHandle() override; 45 46 protected: 47 // Opcodes 48 DECLARE_LUA_OPCODE(new_dofile); 49 DECLARE_LUA_OPCODE(PrintDebug); 50 DECLARE_LUA_OPCODE(PrintError); 51 DECLARE_LUA_OPCODE(PrintWarning); 52 DECLARE_LUA_OPCODE(FunctionName); 53 DECLARE_LUA_OPCODE(CheckForFile); 54 DECLARE_LUA_OPCODE(MakeColor); 55 DECLARE_LUA_OPCODE(GetColorComponents); 56 DECLARE_LUA_OPCODE(ReadRegistryValue); 57 DECLARE_LUA_OPCODE(WriteRegistryValue); 58 DECLARE_LUA_OPCODE(LoadActor); 59 DECLARE_LUA_OPCODE(GetActorTimeScale); 60 DECLARE_LUA_OPCODE(SetSelectedActor); 61 DECLARE_LUA_OPCODE(GetCameraActor); 62 DECLARE_LUA_OPCODE(SetSayLineDefaults); 63 DECLARE_LUA_OPCODE(SetActorTalkColor); 64 DECLARE_LUA_OPCODE(GetActorTalkColor); 65 DECLARE_LUA_OPCODE(SetActorRestChore); 66 DECLARE_LUA_OPCODE(SetActorWalkChore); 67 DECLARE_LUA_OPCODE(SetActorTurnChores); 68 DECLARE_LUA_OPCODE(SetActorTalkChore); 69 DECLARE_LUA_OPCODE(SetActorMumblechore); 70 DECLARE_LUA_OPCODE(SetActorVisibility); 71 DECLARE_LUA_OPCODE(SetActorScale); 72 DECLARE_LUA_OPCODE(SetActorTimeScale); 73 DECLARE_LUA_OPCODE(SetActorCollisionMode); 74 DECLARE_LUA_OPCODE(SetActorCollisionScale); 75 DECLARE_LUA_OPCODE(PutActorAt); 76 DECLARE_LUA_OPCODE(GetActorPos); 77 DECLARE_LUA_OPCODE(SetActorRot); 78 DECLARE_LUA_OPCODE(GetActorRot); 79 DECLARE_LUA_OPCODE(IsActorTurning); 80 DECLARE_LUA_OPCODE(GetAngleBetweenActors); 81 DECLARE_LUA_OPCODE(GetAngleBetweenVectors); 82 DECLARE_LUA_OPCODE(GetActorYawToPoint); 83 DECLARE_LUA_OPCODE(PutActorInSet); 84 DECLARE_LUA_OPCODE(SetActorWalkRate); 85 DECLARE_LUA_OPCODE(GetActorWalkRate); 86 DECLARE_LUA_OPCODE(SetActorTurnRate); 87 DECLARE_LUA_OPCODE(WalkActorForward); 88 DECLARE_LUA_OPCODE(SetActorReflection); 89 DECLARE_LUA_OPCODE(GetActorPuckVector); 90 DECLARE_LUA_OPCODE(ActorPuckOrient); 91 DECLARE_LUA_OPCODE(WalkActorTo); 92 DECLARE_LUA_OPCODE(ActorToClean); 93 DECLARE_LUA_OPCODE(IsActorMoving); 94 DECLARE_LUA_OPCODE(Is3DHardwareEnabled); 95 DECLARE_LUA_OPCODE(SetHardwareState); 96 DECLARE_LUA_OPCODE(SetVideoDevices); 97 DECLARE_LUA_OPCODE(GetVideoDevices); 98 DECLARE_LUA_OPCODE(EnumerateVideoDevices); 99 DECLARE_LUA_OPCODE(Enumerate3DDevices); 100 DECLARE_LUA_OPCODE(IsActorResting); 101 DECLARE_LUA_OPCODE(GetActorNodeLocation); 102 DECLARE_LUA_OPCODE(SetActorWalkDominate); 103 DECLARE_LUA_OPCODE(SetActorColormap); 104 DECLARE_LUA_OPCODE(TurnActor); 105 DECLARE_LUA_OPCODE(PushActorCostume); 106 DECLARE_LUA_OPCODE(SetActorCostume); 107 DECLARE_LUA_OPCODE(GetActorCostume); 108 DECLARE_LUA_OPCODE(PopActorCostume); 109 DECLARE_LUA_OPCODE(GetActorCostumeDepth); 110 DECLARE_LUA_OPCODE(PrintActorCostumes); 111 DECLARE_LUA_OPCODE(LoadCostume); 112 DECLARE_LUA_OPCODE(PlayActorChore); 113 DECLARE_LUA_OPCODE(CompleteActorChore); 114 DECLARE_LUA_OPCODE(PlayActorChoreLooping); 115 DECLARE_LUA_OPCODE(SetActorChoreLooping); 116 DECLARE_LUA_OPCODE(StopActorChore); 117 DECLARE_LUA_OPCODE(FadeOutChore); 118 DECLARE_LUA_OPCODE(FadeInChore); 119 DECLARE_LUA_OPCODE(IsActorChoring); 120 DECLARE_LUA_OPCODE(ActorLookAt); 121 DECLARE_LUA_OPCODE(TurnActorTo); 122 DECLARE_LUA_OPCODE(PointActorAt); 123 DECLARE_LUA_OPCODE(WalkActorVector); 124 DECLARE_LUA_OPCODE(RotateVector); 125 DECLARE_LUA_OPCODE(SetActorPitch); 126 DECLARE_LUA_OPCODE(SetActorLookRate); 127 DECLARE_LUA_OPCODE(GetActorLookRate); 128 DECLARE_LUA_OPCODE(SetActorHead); 129 DECLARE_LUA_OPCODE(PutActorAtInterest); 130 DECLARE_LUA_OPCODE(SetActorFollowBoxes); 131 DECLARE_LUA_OPCODE(SetActorConstrain); 132 DECLARE_LUA_OPCODE(GetVisibleThings); 133 DECLARE_LUA_OPCODE(SetShadowColor); 134 DECLARE_LUA_OPCODE(KillActorShadows); 135 DECLARE_LUA_OPCODE(SetActiveShadow); 136 DECLARE_LUA_OPCODE(SetActorShadowPoint); 137 DECLARE_LUA_OPCODE(SetActorShadowPlane); 138 DECLARE_LUA_OPCODE(AddShadowPlane); 139 DECLARE_LUA_OPCODE(ActivateActorShadow); 140 DECLARE_LUA_OPCODE(SetActorShadowValid); 141 DECLARE_LUA_OPCODE(TextFileGetLine); 142 DECLARE_LUA_OPCODE(TextFileGetLineCount); 143 DECLARE_LUA_OPCODE(LocalizeString); 144 DECLARE_LUA_OPCODE(SayLine); 145 DECLARE_LUA_OPCODE(PrintLine); 146 DECLARE_LUA_OPCODE(InputDialog); 147 DECLARE_LUA_OPCODE(IsMessageGoing); 148 DECLARE_LUA_OPCODE(ShutUpActor); 149 DECLARE_LUA_OPCODE(GetPointSector); 150 DECLARE_LUA_OPCODE(GetActorSector); 151 DECLARE_LUA_OPCODE(IsActorInSector); 152 DECLARE_LUA_OPCODE(IsPointInSector); 153 DECLARE_LUA_OPCODE(MakeSectorActive); 154 DECLARE_LUA_OPCODE(LockSet); 155 DECLARE_LUA_OPCODE(UnLockSet); 156 DECLARE_LUA_OPCODE(MakeCurrentSet); 157 DECLARE_LUA_OPCODE(MakeCurrentSetup); 158 DECLARE_LUA_OPCODE(GetCurrentSetup); 159 DECLARE_LUA_OPCODE(ShrinkBoxes); 160 DECLARE_LUA_OPCODE(UnShrinkBoxes); 161 DECLARE_LUA_OPCODE(GetShrinkPos); 162 DECLARE_LUA_OPCODE(ImStartSound); 163 DECLARE_LUA_OPCODE(ImStopSound); 164 DECLARE_LUA_OPCODE(ImStopAllSounds); 165 DECLARE_LUA_OPCODE(ImPause); 166 DECLARE_LUA_OPCODE(ImResume); 167 DECLARE_LUA_OPCODE(ImSetVoiceEffect); 168 DECLARE_LUA_OPCODE(ImSetMusicVol); 169 DECLARE_LUA_OPCODE(ImGetMusicVol); 170 DECLARE_LUA_OPCODE(ImSetVoiceVol); 171 DECLARE_LUA_OPCODE(ImGetVoiceVol); 172 DECLARE_LUA_OPCODE(ImSetSfxVol); 173 DECLARE_LUA_OPCODE(ImGetSfxVol); 174 DECLARE_LUA_OPCODE(ImSetParam); 175 DECLARE_LUA_OPCODE(ImGetParam); 176 DECLARE_LUA_OPCODE(ImFadeParam); 177 DECLARE_LUA_OPCODE(ImSetState); 178 DECLARE_LUA_OPCODE(ImSetSequence); 179 DECLARE_LUA_OPCODE(SaveIMuse); 180 DECLARE_LUA_OPCODE(RestoreIMuse); 181 DECLARE_LUA_OPCODE(SetSoundPosition); 182 DECLARE_LUA_OPCODE(IsSoundPlaying); 183 DECLARE_LUA_OPCODE(PlaySoundAt); 184 DECLARE_LUA_OPCODE(FileFindDispose); 185 DECLARE_LUA_OPCODE(FileFindNext); 186 DECLARE_LUA_OPCODE(FileFindFirst); 187 DECLARE_LUA_OPCODE(PerSecond); 188 DECLARE_LUA_OPCODE(EnableControl); 189 DECLARE_LUA_OPCODE(DisableControl); 190 DECLARE_LUA_OPCODE(GetControlState); 191 DECLARE_LUA_OPCODE(GetImage); 192 DECLARE_LUA_OPCODE(FreeImage); 193 DECLARE_LUA_OPCODE(BlastImage); 194 DECLARE_LUA_OPCODE(CleanBuffer); 195 DECLARE_LUA_OPCODE(Exit); 196 DECLARE_LUA_OPCODE(KillTextObject); 197 DECLARE_LUA_OPCODE(ChangeTextObject); 198 DECLARE_LUA_OPCODE(GetTextSpeed); 199 DECLARE_LUA_OPCODE(SetTextSpeed); 200 DECLARE_LUA_OPCODE(MakeTextObject); 201 DECLARE_LUA_OPCODE(GetTextObjectDimensions); 202 DECLARE_LUA_OPCODE(ExpireText); 203 DECLARE_LUA_OPCODE(GetTextCharPosition); 204 DECLARE_LUA_OPCODE(BlastText); 205 DECLARE_LUA_OPCODE(SetOffscreenTextPos); 206 DECLARE_LUA_OPCODE(SetSpeechMode); 207 DECLARE_LUA_OPCODE(GetSpeechMode); 208 DECLARE_LUA_OPCODE(StartFullscreenMovie); 209 DECLARE_LUA_OPCODE(StartMovie); 210 DECLARE_LUA_OPCODE(IsFullscreenMoviePlaying); 211 DECLARE_LUA_OPCODE(IsMoviePlaying); 212 DECLARE_LUA_OPCODE(StopMovie); 213 DECLARE_LUA_OPCODE(PauseMovie); 214 DECLARE_LUA_OPCODE(PurgePrimitiveQueue); 215 DECLARE_LUA_OPCODE(DrawPolygon); 216 DECLARE_LUA_OPCODE(DrawLine); 217 DECLARE_LUA_OPCODE(ChangePrimitive); 218 DECLARE_LUA_OPCODE(DrawRectangle); 219 DECLARE_LUA_OPCODE(BlastRect); 220 DECLARE_LUA_OPCODE(KillPrimitive); 221 DECLARE_LUA_OPCODE(DimScreen); 222 DECLARE_LUA_OPCODE(DimRegion); 223 DECLARE_LUA_OPCODE(GetDiskFreeSpace); 224 DECLARE_LUA_OPCODE(NewObjectState); 225 DECLARE_LUA_OPCODE(FreeObjectState); 226 DECLARE_LUA_OPCODE(SendObjectToBack); 227 DECLARE_LUA_OPCODE(SendObjectToFront); 228 DECLARE_LUA_OPCODE(SetObjectType); 229 DECLARE_LUA_OPCODE(GetCurrentScript); 230 DECLARE_LUA_OPCODE(ScreenShot); 231 DECLARE_LUA_OPCODE(GetSaveGameImage); 232 DECLARE_LUA_OPCODE(SubmitSaveGameData); 233 DECLARE_LUA_OPCODE(GetSaveGameData); 234 DECLARE_LUA_OPCODE(Load); 235 DECLARE_LUA_OPCODE(Save); 236 DECLARE_LUA_OPCODE(Remove); 237 DECLARE_LUA_OPCODE(LockFont); 238 DECLARE_LUA_OPCODE(EnableDebugKeys); 239 DECLARE_LUA_OPCODE(LightMgrSetChange); 240 DECLARE_LUA_OPCODE(SetAmbientLight); 241 DECLARE_LUA_OPCODE(SetLightIntensity); 242 DECLARE_LUA_OPCODE(SetLightPosition); 243 DECLARE_LUA_OPCODE(TurnLightOn); 244 DECLARE_LUA_OPCODE(RenderModeUser); 245 DECLARE_LUA_OPCODE(PreRender); 246 DECLARE_LUA_OPCODE(IrisUp); 247 DECLARE_LUA_OPCODE(IrisDown); 248 DECLARE_LUA_OPCODE(SetGamma); 249 DECLARE_LUA_OPCODE(Display); 250 DECLARE_LUA_OPCODE(EngineDisplay); 251 DECLARE_LUA_OPCODE(ForceRefresh); 252 DECLARE_LUA_OPCODE(JustLoaded); 253 DECLARE_LUA_OPCODE(PlaySound); 254 DECLARE_LUA_OPCODE(SetEmergencyFont); 255 DECLARE_LUA_OPCODE(LoadBundle); 256 DECLARE_LUA_OPCODE(LightMgrStartup); 257 DECLARE_LUA_OPCODE(GetSectorOppositeEdge); 258 DECLARE_LUA_OPCODE(SetActorInvClipNode); 259 DECLARE_LUA_OPCODE(NukeResources); 260 DECLARE_LUA_OPCODE(ResetTextures); 261 DECLARE_LUA_OPCODE(AttachToResources); 262 DECLARE_LUA_OPCODE(DetachFromResources); 263 DECLARE_LUA_OPCODE(SetActorClipPlane); 264 DECLARE_LUA_OPCODE(SetActorClipActive); 265 DECLARE_LUA_OPCODE(FlushControls); 266 DECLARE_LUA_OPCODE(GetCameraLookVector); 267 DECLARE_LUA_OPCODE(SetCameraRoll); 268 DECLARE_LUA_OPCODE(SetCameraInterest); 269 DECLARE_LUA_OPCODE(GetCameraPosition); 270 DECLARE_LUA_OPCODE(SpewStartup); 271 DECLARE_LUA_OPCODE(PreviousSetup); 272 DECLARE_LUA_OPCODE(NextSetup); 273 DECLARE_LUA_OPCODE(WorldToScreen); 274 DECLARE_LUA_OPCODE(SetActorRoll); 275 DECLARE_LUA_OPCODE(SetActorFrustrumCull); 276 DECLARE_LUA_OPCODE(DriveActorTo); 277 DECLARE_LUA_OPCODE(GetActorRect); 278 DECLARE_LUA_OPCODE(GetTranslationMode); 279 DECLARE_LUA_OPCODE(SetTranslationMode); 280 DECLARE_LUA_OPCODE(WalkActorToAvoiding); 281 DECLARE_LUA_OPCODE(GetActorChores); 282 DECLARE_LUA_OPCODE(SetCameraPosition); 283 DECLARE_LUA_OPCODE(GetCameraFOV); 284 DECLARE_LUA_OPCODE(SetCameraFOV); 285 DECLARE_LUA_OPCODE(GetCameraRoll); 286 DECLARE_LUA_OPCODE(GetMemoryUsage); 287 DECLARE_LUA_OPCODE(GetFontDimensions); 288 DECLARE_LUA_OPCODE(PurgeText); 289 }; 290 291 } 292 293 #endif 294