The 7th Guest: GRV Scripting
The 7th Guest GROOVIE V1 and GRV scripting directory: opcode research, control flow, variables, video commands, puzzles and script modding.
Script research is central to understanding and changing game behavior. This category organizes the planned GROOVIE V1 scripting references: the GRV stream, opcode names, branches, calls, variables and the commands that connect scripts to visual, audio and puzzle behavior.
The opcode entries provide specific destinations for future instruction-level documentation. A complete explanation should make operand sizes, control-flow effects and release-specific uncertainty explicit. This directory does not claim a complete decompilation or an already verified opcode specification; it makes the intended research scope navigable.
This catalogue currently has 115 entries. 0 are published; the remaining entries are planned documentation, not completed guides.
Article directory
- Branches and Absolute TargetsGRV Scripting
- Calls and Return StackGRV Scripting
- Child Scripts and Local VariablesGRV Scripting
- Disassembly Listings and Raw Byte AssemblyGRV Scripting
- Encoded Characters and SequencesGRV Scripting
- Explicit and Built-In HotspotsGRV Scripting
- Input Loops and Declaration OrderGRV Scripting
- Keyboard Actions and Hidden InputsGRV Scripting
- MAZE.GRV and the BasementGRV Scripting
- Microscope GAMELOGIC ContractGRV Scripting
- Opcode 0x00 - NOPGRV Scripting
- Opcode 0x01 - RESERVED_01GRV Scripting
- Opcode 0x02 - PLAYSONGGRV Scripting
- Opcode 0x03 - FADEIN_NEXT_VIDEOGRV Scripting
- Opcode 0x04 - PALFADEOUTGRV Scripting
- Opcode 0x05 - FIRSTFRAME_NEXT_VIDEOGRV Scripting
- Opcode 0x06 - VIDEOFLAG6_ONGRV Scripting
- Opcode 0x07 - VIDEOFLAG7_ONGRV Scripting
- Opcode 0x08 - SETBACKGROUNDSONGGRV Scripting
- Opcode 0x09 - VIDEOREFGRV Scripting
- Opcode 0x0A - VIDEOFLAG5_ONGRV Scripting
- Opcode 0x0B - INPUTLOOPSTARTGRV Scripting
- Opcode 0x0C - KEYACTIONGRV Scripting
- Opcode 0x0D - HOTSPOT_RECTGRV Scripting
- Opcode 0x0E - HOTSPOT_LEFTGRV Scripting
- Opcode 0x0F - HOTSPOT_RIGHTGRV Scripting
- Opcode 0x10 - HOTSPOT_CENTERGRV Scripting
- Opcode 0x11 - HOTSPOT_CENTER_2GRV Scripting
- Opcode 0x12 - HOTSPOT_CURRENTGRV Scripting
- Opcode 0x13 - INPUTLOOPENDGRV Scripting
- Opcode 0x14 - RANDOMGRV Scripting
- Opcode 0x15 - JMPGRV Scripting
- Opcode 0x16 - LOADSTRINGGRV Scripting
- Opcode 0x17 - RETGRV Scripting
- Opcode 0x18 - CALLGRV Scripting
- Opcode 0x19 - SLEEPGRV Scripting
- Opcode 0x1A - STRCMP_NE_JMPGRV Scripting
- Opcode 0x1B - XOR_OBFUSCATEGRV Scripting
- Opcode 0x1C - VIDEO_TRANSITION_REFGRV Scripting
- Opcode 0x1D - SWAPGRV Scripting
- Opcode 0x1E - RESERVED_1EGRV Scripting
- Opcode 0x1F - INCGRV Scripting
- Opcode 0x20 - DECGRV Scripting
- Opcode 0x21 - STRCMP_NE_JMP_INDIRECTGRV Scripting
- Opcode 0x22 - COPY_BG_TO_FGGRV Scripting
- Opcode 0x23 - STRCMP_EQ_JMPGRV Scripting
- Opcode 0x24 - MOVGRV Scripting
- Opcode 0x25 - ADDGRV Scripting
- Opcode 0x26 - VIDEO_NAMEGRV Scripting
- Opcode 0x27 - VIDEO_TRANSITION_NAMEGRV Scripting
- Opcode 0x28 - RESERVED_28GRV Scripting
- Opcode 0x29 - STOP_OR_WAIT_MIDIGRV Scripting
- Opcode 0x2A - ENDSCRIPTGRV Scripting
- Opcode 0x2B - NOP_2BGRV Scripting
- Opcode 0x2C - SET_HOTSPOT_TOPGRV Scripting
- Opcode 0x2D - SET_HOTSPOT_BOTTOMGRV Scripting
- Opcode 0x2E - LOADGAMEGRV Scripting
- Opcode 0x2F - SAVEGAMEGRV Scripting
- Opcode 0x30 - HOTSPOT_BOTTOM_4GRV Scripting
- Opcode 0x31 - MIDI_CONTROLGRV Scripting
- Opcode 0x32 - JNE_INDIRECTGRV Scripting
- Opcode 0x33 - LOADSTRING_INDIRECTGRV Scripting
- Opcode 0x34 - CHAR_GREATER_JMPGRV Scripting
- Opcode 0x35 - VIDEOFLAG7_OFFGRV Scripting
- Opcode 0x36 - CHAR_LESS_JMPGRV Scripting
- Opcode 0x37 - COPY_RECT_TO_BGGRV Scripting
- Opcode 0x38 - RESTORESTACKGRV Scripting
- Opcode 0x39 - GRID_SWAPGRV Scripting
- Opcode 0x3A - PRINTSTRINGGRV Scripting
- Opcode 0x3B - HOTSPOT_SAVE_SLOTGRV Scripting
- Opcode 0x3C - CHECK_VALID_SAVESGRV Scripting
- Opcode 0x3D - RESETVARSGRV Scripting
- Opcode 0x3E - MODGRV Scripting
- Opcode 0x3F - LOADSCRIPTGRV Scripting
- Opcode 0x40 - SET_VIDEO_ORIGINGRV Scripting
- Opcode 0x41 - SUBGRV Scripting
- Opcode 0x42 - GAMELOGICGRV Scripting
- Opcode 0x43 - RETURNSCRIPTGRV Scripting
- Opcode 0x44 - SET_HOTSPOT_RIGHTGRV Scripting
- Opcode 0x45 - SET_HOTSPOT_LEFTGRV Scripting
- Opcode 0x46 - RESOURCE_CONTEXT_SAVEGRV Scripting
- Opcode 0x47 - RESOURCE_CONTEXT_RESTOREGRV Scripting
- Opcode 0x48 - SET_VDX_RATE_OVERRIDEGRV Scripting
- Opcode 0x49 - PALETTE_MERGE_ONCEGRV Scripting
- Opcode 0x4A - PCM_DRIVER_PARAMGRV Scripting
- Opcode 0x4B - SET_VIDEO_MODEGRV Scripting
- Opcode 0x4C - GETCDGRV Scripting
- Opcode 0x4D - PLAYCDGRV Scripting
- Opcode 0x4E - MUSICDELAYGRV Scripting
- Opcode 0x4F - RESERVED_4FGRV Scripting
- Opcode 0x50 - RESERVED_50GRV Scripting
- Opcode 0x51 - SET_VIDEO_SKIP_CANDIDATEGRV Scripting
- Opcode 0x52 - COMMIT_OVERLAYGRV Scripting
- Opcode 0x53 - HOTSPOT_OUTSIDE_RECTGRV Scripting
- Opcode 0x54 - NOP_54GRV Scripting
- Opcode 0x55 - SET_SCRIPT_END_CANDIDATEGRV Scripting
- Opcode 0x56 - RESERVED_SOUND_SHAPEGRV Scripting
- Opcode 0x57 - MASK_VIDEO_REF32GRV Scripting
- Opcode 0x58 - MASK_VIDEO_NAMEGRV Scripting
- Opcode 0x59 - CHECK_SOUND_OVERLAY_SHAPEGRV Scripting
- Opcode 0x5A - UNSUPPORTED_T7GGRV Scripting
- Opcode DirectoryGRV Scripting
- Operand Width and High-Bit EncodingGRV Scripting
- Platform Dialects and Operand ExceptionsGRV Scripting
- Presentation Command OrderingGRV Scripting
- Random State and Inclusive BoundsGRV Scripting
- Relocating Code and Branch TargetsGRV Scripting
- Resource References and Named VideoGRV Scripting
- Room Script InventoryGRV Scripting
- Save and Load CommandsGRV Scripting
- Script File LayoutGRV Scripting
- SCRIPT.GRV and the Main MenuGRV Scripting
- Strings and Variable InterpolationGRV Scripting
- Unsupported and Reserved OpcodesGRV Scripting
- Variables and Reserved StateGRV Scripting