Skip to navigation

Workspaces and configuration

THE SENTINEL SOURCE The Sentinel was written by Geoff Crammond and is copyright Firebird 1986 The code on this site has been reconstructed from a disassembly of the original game binaries The commentary is copyright Mark Moxon, and any misunderstandings or mistakes in the documentation are entirely my fault The terminology and notations used in this commentary are explained at https://thesentinel.bbcelite.com/terminology
This source file contains the main game code for The Sentinel on the BBC Micro.
This source file produces the following binary file: * TheSentinel.bin
INCLUDE "1-source-files/main-sources/the-sentinel-build-options.asm" _SAM6 = (_VARIANT = 1)
Configuration variables
CODE% = &0400 \ The address of the main game code LOAD% = &1900 \ The load address of the main code binary IRQ1V = &0204 \ The IRQ1V vector that we intercept to implement the \ interrupt handler \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureMachine \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
BRKIV = &0287 \ The Break Intercept code (which is a JMP instruction \ to the Break Intercept handler) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ClearMemory \ * ConfigureMachine \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
BRKI = &0380 \ The CFS workspace, which we can use for the Break \ Intercept handler \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureMachine \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SHEILA = &FE00 \ Memory-mapped space for accessing internal hardware, \ such as the video ULA, 6845 CRTC and 6522 VIAs (also \ known as SHEILA) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureMachine \ * IRQHandler \ * ResetScreenAddress \ * ScrollPlayerView \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
OSRDCH = &FFE0 \ The address for the OSRDCH routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * ReadCharacter \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
OSWRCH = &FFEE \ The address for the OSWRCH routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureMachine \ * PrintCharacter \ * PrintVduCharacter \ * ReadNumber \ * SetColourPalette \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
OSBYTE = &FFF4 \ The address for the OSBYTE routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureMachine \ * EnableKeyboard \ * FlushBuffer \ * ReadCharacter \ * ScanKeyboard \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
OSWORD = &FFF1 \ The address for the OSWORD routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * MakeSoundEnvelope \ * SpawnCharacter3D (Part 1 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
Name: Zero page [Show more] Type: Workspace Address: &0000 to &008F Category: Workspaces Summary: Mainly temporary variables that are used a lot
Context: See this workspace on its own page References: No direct references to this workspace in this source file
ORG &0000 \ Set the assembly address to &0000 .enemyObject SKIP 1 \ The object number of the enemy to which we are \ applying tactics in this iteration around the main \ loop (0-7) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ApplyEnemyTactics \ * ApplyTactics (Part 2 of 8) \ * ApplyTactics (Part 4 of 8) \ * ApplyTactics (Part 5 of 8) \ * ApplyTactics (Part 6 of 8) \ * ApplyTactics (Part 7 of 8) \ * DrainObjectEnergy \ * ExpendEnemyEnergy \ * MoveOnToNextEnemy \ * ScanForMeanieTree \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.currentObject SKIP 1 \ The number of the object we are currently processing \ \ [Show more]
\ \ This variable is used by the following: \ \ * ApplyTactics (Part 8 of 8) \ * CheckObjVisibility \ * DrawUpdatedObject \ * ExpendEnemyEnergy \ * GetObjVisibility \ * PerformHyperspace \ * ProcessActionKeys (Part 2 of 2) \ * ShowGameOverScreen \ * SpawnObject \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xPolygonAddrHi SKIP 0 \ The high byte of the address of the table where we \ store the x-coordinate of the polygon line being \ processed, so this is either HI(xPolygonLeft) or \ HI(xPolygonRight) \ \ This variable shares the same memory location as \ edgeGazeDistance \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 6 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.edgeGazeDistance SKIP 1 \ The fractional distance along a tile edge that matches \ the current position along the gaze vector \ \ This variable shares the same memory location as \ xPolygonAddrHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 5 of 5) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTileViewer SKIP 1 \ The tile x-coordinate of the viewer, but with the axes \ rotated to match the orientation of the viewer, so we \ can draw the landscape along the line of sight, \ towards the viewer's tile \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeRow \ * DrawLandscapeView (Part 1 of 3) \ * DrawLandscapeView (Part 3 of 3) \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yPolygonBottom SKIP 1 \ The y-coordinate of the bottom of the polygon being \ drawn (where higher y-coordinates are up the screen) \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 2 of 4) \ * GetPolygonLines (Part 5 of 6) \ * TracePolygonEdge (Part 1 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.drawingTableOffset SKIP 1 \ The offset to use within the various drawing data \ tables for the tile we are analysing \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 2 of 3) \ * DrawLandscapeView (Part 3 of 3) \ * DrawTileAndObjects \ * GetPolygonLines (Part 2 of 6) \ * GetRowVisibility (Part 2 of 2) \ * GetTileViewAngles (Part 1 of 4) \ * GetTileVisibility \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yPolygonTop SKIP 0 \ The y-coordinate of the top of the polygon being drawn \ (where higher y-coordinates are up the screen) \ \ This variable shares the same memory location as \ tileAltitude \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 1 of 4) \ * GetPolygonLines (Part 5 of 6) \ * TracePolygonEdge (Part 1 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.tileAltitude SKIP 1 \ The altitude of the tile that we are currently \ processing \ \ This variable shares the same memory location as \ yPolygonTop \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddEnemiesToTiles \ * GetHighestTiles \ * GetTilesAtAltitude \ * PlaceObjectBelow \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.bufferMinYawHi SKIP 1 \ The minimum allowed yaw angle for points in the \ current screen buffer (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * GetTileViewAngles (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.lastPanKeyPressed SKIP 1 \ The direction of the last pan key that was pressed \ (which may not still be held down) \ \ * Bit 7 set = not currently panning \ \ * 0 = pan right \ \ * 1 = pan left \ \ * 2 = pan up \ \ * 3 = pan down \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawUpdatedObject \ * MainGameLoop \ * PanLandscapeView \ * ScrollPlayerView \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.panKeyBeingPressed SKIP 1 \ The direction in which the player is currently panning \ \ * Bit 7 set = not currently panning \ \ * 0 = pan right \ \ * 1 = pan left \ \ * 2 = pan up \ \ * 3 = pan down \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckForKeyPresses \ * MainGameLoop \ * MoveSights \ * MoveSightsSideways \ * MoveSightsUpDown \ * ProcessGameplay \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xPointDeltaHi SKIP 1 \ Temporary storage for the high byte of the x-axis \ delta between two polygon points \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 6 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.playerObject SKIP 1 \ The number of the player object \ \ [Show more]
\ \ This variable is used by the following: \ \ * ApplyTactics (Part 2 of 8) \ * ApplyTactics (Part 5 of 8) \ * ApplyTactics (Part 8 of 8) \ * CheckObjVisibility \ * DrainObjectEnergy \ * DrawObjectStack \ * GetObjVisibility \ * GetPlayerDrain \ * GetRowVisibility (Part 1 of 2) \ * GetTileVisibility \ * MainGameLoop \ * MoveOnToNextEnemy \ * MoveSightsUpDown \ * PanLandscapeView \ * PerformHyperspace \ * ProcessActionKeys (Part 1 of 2) \ * ProcessActionKeys (Part 2 of 2) \ * SpawnPlayer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yEdgeDeltaLo SKIP 0 \ The difference in pitch angle between two polygon \ points, i.e. the delta along the y-axis (low byte) \ \ This variable shares the same memory location as \ yAccuracyLo, zCounter and stashAddr \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 2 of 8) \ * TracePolygonEdge (Part 3 of 8) \ * TracePolygonEdge (Part 4 of 8) \ * TracePolygonEdge (Part 5 of 8) \ * TracePolygonEdge (Part 6 of 8) \ * TracePolygonEdge (Part 7 of 8) \ * TracePolygonEdge (Part 8 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yAccuracyLo SKIP 0 \ The vertical accuracy for considering a tile as being \ seen by the viewer, as a fractional part \ \ The default for tiles is 128, so the gaze vector has \ to be no more than 0.5 of a tile's height above the \ tile for us to consider it as potentially hitting the \ tile \ \ For the Sentinel's tile the accuracy is only 16, so \ the gaze vector has to be more than 0.0625 of a tile's \ height above the top of the Sentinel's tower (this \ makes the player have to be much more accurate when \ trying to view the Sentinel's tile) \ \ This variable shares the same memory location as \ yEdgeDeltaLo, zCounter and stashAddr \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 1 of 5) \ * GetTileAltitude \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zCounter SKIP 0 \ A counter to iterate along tiles in the z-axis \ \ This variable shares the same memory location as \ yEdgeDeltaLo, yAccuracyLo and stashAddr \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHighestTiles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.stashAddr SKIP 1 \ The address of the four bytes in the secretCodeStash \ that correspond to the landscape's secret code \ \ This variable shares the same memory location as \ yEdgeDeltaLo, yAccuracyLo, zCounter, xEdgeDelta and \ xCounter \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckSecretStash \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xEdgeDelta SKIP 0 \ The scaled and signed x-axis delta between two polygon \ points when tracing the polygon edges (single byte) \ \ This variable shares the same memory location as \ xCounter and stashAddr+1 \ \ [Show more]
\ \ This variable is used by the following: \ \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 2 of 8) \ * TracePolygonEdge (Part 3 of 8) \ * TracePolygonEdge (Part 4 of 8) \ * TracePolygonEdge (Part 5 of 8) \ * TracePolygonEdge (Part 6 of 8) \ * TracePolygonEdge (Part 7 of 8) \ * TracePolygonEdge (Part 8 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xCounter SKIP 1 \ A counter to iterate along tiles in the x-axis \ \ This variable shares the same memory location as \ xEdgeDelta and stashAddr+1 \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHighestTiles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.pointX SKIP 1 \ Temporary storage for the number of point #X while \ processing polygon lines \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 6 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yStoreTileView SKIP 0 \ Temporary storage for Y so it can be preserved through \ calls to GetTileViewAngles \ \ This variable shares the same memory location as \ playerTileObscured \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetTileViewAngles (Part 1 of 4) \ * GetTileViewAngles (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.playerTileObscured SKIP 1 \ Records when an enemy can see the player object but \ can't see the tile that the player is on \ \ * Bit 7 set = enemy can't see player object \ \ * Bit 7 clear = enemy can see the player object but \ can't see the tile that the player \ is on, player object number is in \ bits 0 to 6 \ \ This variable shares the same memory location as \ yStoreTileView \ \ [Show more]
\ \ This variable is used by the following: \ \ * ApplyTactics (Part 5 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.screenBufferType SKIP 1 \ The type of screen buffer that is currently being used \ \ * 0 = left row buffer (for up/down pan) \ for the first 256 bytes of the 320-byte row \ \ * 1 = right row buffer (for up/down pan) \ for the last 64 bytes of the 320-byte row \ \ * 2 = column buffer (for left/right pan) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * DrawPolygon \ * DrawPolygonLines (Part 1 of 4) \ * FlipBufferType \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.bufferOriginHi SKIP 1 \ The offset to add to yaw angles for the current screen \ buffer to convert them from having the origin in the \ buffer centre to having the origin on the left edge of \ the buffer (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * GetPolygonLines (Part 3 of 6) \ * GetPolygonLines (Part 4 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.bufferMaxYawHi SKIP 1 \ The maximum allowed yaw angle for points in the \ current screen buffer (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * GetTileViewAngles (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.ditherStore SKIP 1 \ Temporary storage for use in the DitherScreenBuffer \ routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * DitherScreenBuffer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.targetVisibility SKIP 1 \ Reports whether a target object is visible from an \ enemy in the CheckEnemyGaze routine \ \ * If the target object is a robot, then bit 6 will \ be set if the robot object can be seen, even if \ the robot's tile can't be seen \ \ * Bit 7 will be set if the enemy can see the target \ object's tile \ \ [Show more]
\ \ This variable is used by the following: \ \ * ApplyTactics (Part 2 of 8) \ * ApplyTactics (Part 5 of 8) \ * ApplyTactics (Part 7 of 8) \ * CheckEnemyGaze (Part 1 of 2) \ * CheckEnemyGaze (Part 2 of 2) \ * FindObjectToDrain \ * ScanForMeanieTree \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.loopCounter SKIP 1 \ A general-purpose loop counter \ \ [Show more]
\ \ This variable is used by the following: \ \ * ClearScreen \ * DecayScreenToBlack \ * DrawUpdatedObject \ * FillScreen \ * PlaceObjectBelow \ * SmoothTileData \ * SpawnCharacter3D (Part 2 of 2) \ * UpdateIconsScanner \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yEdgeEndLo SKIP 1 \ The y-coordinate of the end point in the polygon edge \ being processed (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 1 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.traceStepCounter SKIP 0 \ The number of steps in the ray-tracing process when \ calculating tile visibility in the GetRowVisibility \ routine \ \ This variable shares the same memory location as \ polygonEdgeCount \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.polygonEdgeCount SKIP 1 \ The number of sides in the polygon we are drawing, \ which is one less than the number of points in the \ polygon's point list (as the last point in the list \ is always a repeat of the first point) \ \ This will be three for a triangle or four for a \ quadrilateral \ \ This variable shares the same memory location as \ traceStepCounter \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ * GetPolygonLines (Part 2 of 6) \ * GetPolygonLines (Part 3 of 6) \ * GetPolygonLines (Part 4 of 6) \ * GetPolygonLines (Part 5 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xEdgeStartLo SKIP 0 \ The x-coordinate of the start point in the polygon \ edge being processed (low byte) \ \ This variable shares the same memory location as \ xTileRow and xBlock \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 2 of 8) \ * TracePolygonEdge (Part 3 of 8) \ * TracePolygonEdge (Part 4 of 8) \ * TracePolygonEdge (Part 5 of 8) \ * TracePolygonEdge (Part 6 of 8) \ * TracePolygonEdge (Part 7 of 8) \ * TracePolygonEdge (Part 8 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTileRow SKIP 0 \ The tile x-coordinate of the tile we are analysing in \ the GetRowVisibility routine \ \ This variable shares the same memory location as \ xEdgeStartLo and xBlock \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xBlock SKIP 1 \ The tile x-coordinate of the tile we are analysing \ when calculating the highest tile in a block \ \ This variable shares the same memory location as \ xEdgeStartLo and xBlock \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHighestTiles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yTileRow SKIP 0 \ The tile y-coordinate of the tile we are analysing in \ the GetRowVisibility routine \ \ This variable shares the same memory location as \ polygonColours \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.polygonColours SKIP 1 \ The colours of the polygon that's being drawn in the \ DrawPolygon routine \ \ * Bits 2-3 = fill colour \ \ * Bits 24-5 = edge colour \ \ This variable shares the same memory location as \ yTileRow \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ * DrawOneFaceTile \ * DrawPolygonLines (Part 1 of 4) \ * DrawTwoFaceTile \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yEdgeStartLo SKIP 0 \ The y-coordinate of the start point in the polygon \ edge being processed (low byte) \ \ This variable shares the same memory location as \ yPolygonLine, zTileRow and zBlock \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 6 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yPolygonLine SKIP 0 \ The polygon y-coordinate of the pixel line being drawn \ in the DrawPolygonLines routine \ \ This variable shares the same memory location as \ yEdgeStartLo, zTileRow and zBlock \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zTileRow SKIP 0 \ The tile z-coordinate of the tile we are analysing in \ the GetRowVisibility routine \ \ This variable shares the same memory location as \ yEdgeStartLo, yPolygonLine and zBlock \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ * GetTileVisibility \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zBlock SKIP 1 \ The tile z-coordinate of the tile we are analysing \ when calculating the highest tile in a block \ \ This variable shares the same memory location as \ yEdgeStartLo, yPolygonLine and zTileRow \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHighestTiles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.quadrantOffset SKIP 1 \ The offset into the drawing tables for the quadrant \ containing the right edge of the viewing arc \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 1 of 3) \ * DrawTileAndObjects \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.viewingArcRightYaw SKIP 0 \ The yaw angle of the right edge of the viewing arc, \ where the arc is 90 degrees wide \ \ This variable shares the same memory location as \ processAction \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 1 of 3) \ * GetTileViewAngles (Part 2 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.processAction SKIP 1 \ Defines the following: \ \ * The action that's applied to tile data by the \ ProcessTileData routine \ \ * The action that's applied to tile data by the \ SmoothTileData routine \ \ See the ProcessTileData and SmoothTileData routines \ for details \ \ This variable shares the same memory location as \ viewingArcRightYaw \ \ [Show more]
\ \ This variable is used by the following: \ \ * ProcessTileData \ * SmoothTileCorners (Part 1 of 4) \ * SmoothTileCorners (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zTileViewer SKIP 1 \ The tile z-coordinate of the viewer, but with the axes \ rotated to match the orientation of the viewer, so we \ can draw the landscape along the line of sight, \ towards the viewer's tile \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 1 of 3) \ * DrawLandscapeView (Part 2 of 3) \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.moreColumnsToFill SKIP 0 \ Stores the number of extra columns we need to fill in \ the FillScreen routine after filling up to 32 columns \ \ * Bit 7 set = no extra columns required \ \ * Bit 7 clear = contains the number of extra columns \ that we need to fill beyond the 32 \ columns already filled \ \ This variable shares the same memory location as \ blackDotCounter, treeCounter, gazeCheckCounter and \ horizontalEdges \ \ [Show more]
\ \ This variable is used by the following: \ \ * FillScreen \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.blackDotCounter SKIP 0 \ A counter for black dots that are drawn in the screen \ decaying routine \ \ This variable shares the same memory location as \ moreColumnsToFill, treeCounter, gazeCheckCounter and \ horizontalEdges \ \ [Show more]
\ \ This variable is used by the following: \ \ * DecayScreenToBlack \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.treeCounter SKIP 0 \ A counter for the number of trees that are added to \ the landscape in the SpawnTrees routine \ \ This variable shares the same memory location as \ moreColumnsToFill, blackDotCounter, gazeCheckCounter \ and horizontalEdges \ \ [Show more]
\ \ This variable is used by the following: \ \ * SpawnTrees \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.gazeCheckCounter SKIP 0 \ A counter for the number of checks that are performed \ when following an enemy's gaze in CheckEnemyGaze \ \ This variable shares the same memory location as \ moreColumnsToFill, blackDotCounter, treeCounter and \ horizontalEdges \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.horizontalEdges SKIP 1 \ A counter to keep track of how many polygon edges are \ horizontal in the polygon we are drawing \ \ This variable shares the same memory location as \ moreColumnsToFill, blackDotCounter, treeCounter and \ gazeCheckCounter \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yawAdjustmentLo SKIP 1 \ A yaw adjustment to apply to the landscape drawing \ process so that when we update objects on-screen, we \ can yaw the viewer's gaze to the right to move the \ left edge of the object to the left edge of the screen \ so the object will fit into the screen buffer as \ efficiently as possible (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawUpdatedObject \ * GetObjectAngles \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.screenLeftYawHi SKIP 1 \ The high byte of the yaw angle of the left edge of \ the screen, reduced into the range of a single \ 90-degree quadrant (so it's relative to the 90-degree \ viewing arc) \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 1 of 3) \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.drawingTableIndex SKIP 1 \ The index into the drawing tables for the tile being \ analysed \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ * GetTileViewAngles (Part 1 of 4) \ * GetTileViewAngles (Part 2 of 4) \ * GetTileViewAngles (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.screenAddr SKIP 2 \ Storage for a screen address \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawRandomDots \ * UpdateScannerNow \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTile SKIP 1 \ Tile corner x-coordinate \ \ The tile corner coordinate along the x-axis, where the \ x-axis goes from left to right across the screen, with \ one x-coordinate per tile (so this is also the corner \ number along the axis) \ \ Each tile in the landscape is defined by a tile \ corner (the "anchor") and the tile shape, with the \ anchor being in the front-left corner of the tile, \ nearest the origin \ \ As a result we tend to use the terms "tile" and "tile \ corner" interchangeably, depending on the context \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddEnemiesToTiles \ * DeleteObject \ * FindObjectToDrain \ * FollowGazeVector (Part 1 of 5) \ * FollowGazeVector (Part 2 of 5) \ * GenerateLandscape \ * GetHighestTiles \ * GetTileAltitudes \ * GetTileData \ * GetTileEdgeToLeft \ * GetTileEdgeToRight \ * GetTileShape \ * GetTileViewAngles (Part 1 of 4) \ * GetTileViewAngles (Part 2 of 4) \ * GetTileViewEdges \ * PlaceObjectBelow \ * PlaceObjectOnTile \ * ProcessActionKeys (Part 2 of 2) \ * ProcessTileData \ * SmoothTileCorners (Part 1 of 4) \ * SmoothTileCorners (Part 4 of 4) \ * SmoothTileData \ * SpawnCharacter3D (Part 2 of 2) \ * SpawnPlayer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTileToDraw SKIP 0 \ The column number of the tile we are currently drawing \ \ This variable shares the same memory location as \ columnCounter \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawFlatTile \ * DrawLandscapeRow \ * DrawLandscapeView (Part 3 of 3) \ * DrawTileAndObjects \ * GetPolygonLines (Part 2 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.columnCounter SKIP 1 \ A counter for the number of columns to fill in the \ FillScreen routine \ \ This variable shares the same memory location as \ xTileToDraw \ \ [Show more]
\ \ This variable is used by the following: \ \ * FillScreen \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.fillRowNumber SKIP 0 \ The number of the character row we are currently \ filling in the FillScreen routine \ \ * 0 to 24 = we are filling this row number in \ screen memory \ \ * 25 to 49 = we are filling this row number in the \ screen buffer (subtract 25 to get the \ actual row number) \ \ This variable shares the same memory location as \ zTile \ \ [Show more]
\ \ This variable is used by the following: \ \ * FillScreen \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zTile SKIP 1 \ Tile corner z-coordinate \ \ The tile corner coordinate along the z-axis, where the \ z-axis goes into the screen, with one z-coordinate per \ tile (so this is also the corner number along the \ axis) \ \ Each tile in the landscape is defined by a tile \ corner (the "anchor") and the tile shape, with the \ anchor being in the front-left corner of the tile, \ nearest the origin \ \ As a result we tend to use the terms "tile" and "tile \ corner" interchangeably, depending on the context \ \ This variable shares the same memory location as \ fillRowNumber \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddEnemiesToTiles \ * DeleteObject \ * DrawFlatTile \ * DrawLandscapeView (Part 2 of 3) \ * DrawLandscapeView (Part 3 of 3) \ * DrawTileAndObjects \ * FindObjectToDrain \ * FollowGazeVector (Part 1 of 5) \ * FollowGazeVector (Part 2 of 5) \ * GenerateLandscape \ * GetHighestTiles \ * GetTileAltitudes \ * GetTileData \ * GetTileShape \ * GetTileViewAngles (Part 1 of 4) \ * GetTileViewAngles (Part 2 of 4) \ * PlaceObjectBelow \ * PlaceObjectOnTile \ * ProcessActionKeys (Part 2 of 2) \ * ProcessTileData \ * SmoothTileCorners (Part 1 of 4) \ * SmoothTileCorners (Part 4 of 4) \ * SmoothTileData \ * SpawnCharacter3D (Part 1 of 2) \ * SpawnCharacter3D (Part 2 of 2) \ * SpawnPlayer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.bitMask SKIP 1 \ Used to return a bit mask from the GetTilesAtAltitude \ routine that has a matching number of leading zeroes \ as the number of tile blocks at a specific altitude \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddEnemiesToTiles \ * GetTilesAtAltitude \ * GetTileVisibility \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.bufferMinYawLo SKIP 1 \ The minimum allowed yaw angle for points in the \ current screen buffer (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * GetTileViewAngles (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.bufferOriginLo SKIP 1 \ The offset to add to yaw angles for the current screen \ buffer to convert them from having the origin in the \ buffer centre to having the origin on the left edge of \ the buffer (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * GetPolygonLines (Part 3 of 6) \ * GetPolygonLines (Part 4 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.randomPixel SKIP 0 \ Storage for a random value in the DrawRandomDots \ routine to use as a random pixel number when drawing \ dots \ \ This variable shares the same memory location as \ sightsByteAddr \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawRandomDots \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.sightsByteAddr SKIP 2 \ Storage for an address that loops through the pixel \ bytes in screen memory where the sights appear, so the \ sights can be drawn and removed using the contents of \ the sights pixel byte stash \ \ This variable shares the same memory location as \ randomPixel \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawSights \ * RemoveSights \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.polygonGoesRight SKIP 0 \ A flag to record whether the polygon we are drawing \ extends to the right of the screen buffer we are \ drawing in \ \ * Not 1 = at least one line in the polygon we just \ drew extends past the right edge of the \ buffer \ \ * 1 = the default value \ \ If we are drawing a polygon into the left row buffer \ then a value of 1 prevents the DrawPolygon routine \ from also drawing into the right row buffer \ \ This variable shares the same memory location as \ xVectorBot \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygon \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 2 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xVectorBot SKIP 1 \ The x-coordinate of a vector (bottom byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ polygonGoesRight \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddVectorToCoord \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.polygonGoesLeft SKIP 0 \ A flag to record whether the polygon we are drawing \ extends to the left of the screen buffer we are \ drawing in \ \ * Not 1 = at least one line in the polygon we just \ drew extends past the left edge of the \ buffer \ \ * 1 = the default value \ \ If we are drawing a polygon into the right row buffer \ then a value of 1 prevents the DrawPolygon routine \ from also drawing into the left row buffer \ \ This variable shares the same memory location as \ yVectorBot \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 2 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yVectorBot SKIP 1 \ The y-coordinate of a vector (bottom byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ polygonGoesLeft \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ * GetVectorForAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zVectorBot SKIP 1 \ The z-coordinate of a vector (bottom byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xVectorLo SKIP 1 \ The x-coordinate of a vector (low byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddVectorToCoord \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xMinHorizontal SKIP 0 \ A variable to keep track of the minimum x-coordinates \ of any polygon edges that are horizontal in the \ polygon we are drawing \ \ This variable shares the same memory location as \ yVectorLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yVectorLo SKIP 1 \ The y-coordinate of a vector (low byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ xMinHorizontal \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 1 of 5) \ * GetRowVisibility (Part 1 of 2) \ * GetVectorForAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xMaxHorizontal SKIP 0 \ A variable to keep track of the maximum x-coordinates \ of any polygon edges that are horizontal in the \ polygon we are drawing \ \ This variable shares the same memory location as \ zVectorLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zVectorLo SKIP 1 \ The z-coordinate of a vector (low byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ xMaxHorizontal \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTileViewLeft SKIP 0 \ The tile number at the left edge of the tile row we \ are currently processing when drawing the landscape \ \ This variable shares the same memory location as \ cosVectorPitchLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 2 of 3) \ * GetTileViewEdges \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.cosVectorPitchLo SKIP 1 \ The low byte of cos(vectorPitchAngle) when converting \ pitch and yaw angles to cartesian vectors \ \ This variable shares the same memory location as \ xTileViewLeft \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetVectorForAngles \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTileViewRight SKIP 0 \ The tile number at the right edge of the tile row we \ are currently processing when drawing the landscape \ \ This variable shares the same memory location as \ cosVectorPitchHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 2 of 3) \ * GetTileViewEdges \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.cosVectorPitchHi SKIP 1 \ The high byte of cos(vectorPitchAngle) when converting \ pitch and yaw angles to cartesian vectors \ \ This variable shares the same memory location as \ xTileViewRight \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetVectorForAngles \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xCoordBot SKIP 0 \ The x-coordinate of an object or point (bottom byte) \ \ Stored as a 24-bit value xCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ tileShapeOffset \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddVectorToCoord \ * GetObjectCoords \ * GetRowVisibility (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.tileShapeOffset SKIP 1 \ The tile shape we are drawing, amended to use as an \ offset into the tileShapeColour table \ \ This variable shares the same memory location as \ xCoordBot \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawTwoFaceTile \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yCoordBot SKIP 0 \ The y-coordinate of an object or point (bottom byte) \ \ Stored as a 24-bit value yCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ xBufferLeft \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjectCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xBufferLeft SKIP 1 \ The left edge of the screen buffer in pixels \ \ This variable shares the same memory location as \ yCoordBot \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * DrawPolygonLines (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zCoordBot SKIP 0 \ The z-coordinate of an object or point (bottom byte) \ \ Stored as a 24-bit value zCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ xBufferRight \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjectCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xBufferRight SKIP 1 \ The right edge of the screen buffer in pixels \ \ This variable shares the same memory location as \ zCoordBot \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * DrawPolygonLines (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xCoordLo SKIP 0 \ The x-coordinate of an object or point (low byte) \ \ Stored as a 24-bit value xCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ xTileViewLeftEdge \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddVectorToCoord \ * CheckForTileCentre \ * FollowGazeVector (Part 4 of 5) \ * FollowGazeVector (Part 5 of 5) \ * GetObjectCoords \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTileViewLeftEdge SKIP 1 \ The tile number at the left edge of the visible \ portion of the row we are currently processing when \ drawing the landscape \ \ This variable shares the same memory location as \ xCoordLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeRow \ * DrawLandscapeView (Part 2 of 3) \ * DrawLandscapeView (Part 3 of 3) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yCoordLo SKIP 0 \ The y-coordinate of an object or point (low byte) \ \ Stored as a 24-bit value yCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ xTileViewRightEdge \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 1 of 5) \ * FollowGazeVector (Part 5 of 5) \ * GetObjectCoords \ * GetTileAltitude \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xTileViewRightEdge SKIP 1 \ The tile number at the right edge of the visible \ portion of the row we are currently processing when \ drawing the landscape \ \ This variable shares the same memory location as \ yCoordLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeRow \ * DrawLandscapeView (Part 2 of 3) \ * DrawLandscapeView (Part 3 of 3) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zCoordLo SKIP 0 \ The z-coordinate of an object or point (low byte) \ \ Stored as a 24-bit value zCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ xEdgeEndLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckForTileCentre \ * FollowGazeVector (Part 4 of 5) \ * FollowGazeVector (Part 5 of 5) \ * GetObjectCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xEdgeEndLo SKIP 1 \ The x-coordinate of the end point in the polygon \ edge being processed (low byte) \ \ This variable shares the same memory location as \ zCoordLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 6 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xEdgeDeltaLo SKIP 0 \ The low byte of the scaled and signed x-axis delta \ between two polygon points when tracing the polygon \ edges \ \ This variable shares the same memory location as \ xCoordHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 6 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xCoordHi SKIP 1 \ The x-coordinate of an object or point (high byte) \ \ Stored as a 24-bit value xCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ xEdgeDeltaLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddVectorToCoord \ * FollowGazeVector (Part 1 of 5) \ * GetObjectCoords \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ * ProcessActionKeys (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yCoordHi SKIP 0 \ The y-coordinate of an object or point (high byte) \ \ Stored as a 24-bit value yCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ polygonType \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 1 of 5) \ * FollowGazeVector (Part 3 of 5) \ * FollowGazeVector (Part 5 of 5) \ * GetObjectCoords \ * GetRowVisibility (Part 2 of 2) \ * GetTileAltitude \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.polygonType SKIP 1 \ Bits 6 and 7 determine the type of polygon to draw in \ the DrawPolygon routine (the calling subroutine is in \ brackets) \ \ * %00xxxxxx = quadrilateral (DrawOneFaceTile) \ \ * %01xxxxxx = object polygon (DrawObject) \ \ * %10xxxxxx = first triangle (DrawTwoFaceTile) \ \ * %11xxxxxx = second triangle (DrawTwoFaceTile) \ \ This variable shares the same memory location as \ yCoordHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ * DrawOneFaceTile \ * DrawTwoFaceTile \ * GetPolygonLines (Part 2 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zCoordHi SKIP 0 \ The z-coordinate of an object or point (high byte) \ \ Stored as a 24-bit value zCoord(Hi Lo Bot) \ \ This variable shares the same memory location as \ drawViewAngles \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 1 of 5) \ * GetObjectCoords \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ * ProcessActionKeys (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.drawViewAngles SKIP 1 \ The address in drawViewAngles(1 0) of the pitch and \ yaw angles of the tile and polygon points that we are \ drawing in the landscape view \ \ This variable shares the same memory location as \ zCoordHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 1 of 3) \ * DrawObject \ * GetPolygonLines (Part 3 of 6) \ * GetPolygonLines (Part 4 of 6) \ * GetPolygonLines (Part 5 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.vectorYawAngleLo SKIP 1 \ The yaw angle of a vector (low byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ drawViewAngles+1 \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetSightsVector \ * GetVectorForAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yEdgeStartHi SKIP 0 \ The y-coordinate of the start point in the polygon \ edge being processed (high byte) \ \ This variable shares the same memory location as \ vectorYawAngleHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * ModifyStoringCode \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 2 of 8) \ * TracePolygonEdge (Part 3 of 8) \ * TracePolygonEdge (Part 7 of 8) \ * TracePolygonEdge (Part 8 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.vectorYawAngleHi SKIP 1 \ The yaw angle of a vector (high byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ yEdgeStartHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetSightsVector \ * GetVectorForAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yEdgeEndHi SKIP 0 \ The y-coordinate of the end point in the polygon edge \ being processed (high byte) \ \ This variable shares the same memory location as \ vectorPitchAngleLo \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 1 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.vectorPitchAngleLo SKIP 1 \ The pitch angle of a vector (low byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ yEdgeEndHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetSightsVector \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.scaleFactor SKIP 0 \ The scale factor for the x-axis and y-axis deltas when \ fitting them into single-byte numbers during the \ tracing of polygon edges \ \ This variable shares the same memory location as \ vectorPitchAngleHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 6 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.vectorPitchAngleHi SKIP 1 \ The pitch angle of a vector (high byte) \ \ For example, this is used to store the vector from the \ player's eyes to the sights within the 3D world \ \ This variable shares the same memory location as \ scaleFactor \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetSightsVector \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xEdgeStartHi SKIP 1 \ The x-coordinate of the start point in the polygon \ edge being processed (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * ModifyStoringCode \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 6 of 8) \ * TracePolygonEdge (Part 7 of 8) \ * TracePolygonEdge (Part 8 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xEdgeEndHi SKIP 1 \ The x-coordinate of the end point in the polygon \ edge being processed (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * TracePolygonEdge (Part 6 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xEdgeDeltaHi SKIP 1 \ The high byte of the scaled and signed x-axis delta \ between two polygon points when tracing the polygon \ edges \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 6 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SKIP 1 \ This byte appears to be unused .triangleStartPoint SKIP 1 \ The number of the starting point for the tile shape \ being drawn \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawSlopingTile \ * DrawTileAndObjects \ * GetPolygonLines (Part 1 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SKIP 4 \ These bytes appear to be unused .polygonEdge SKIP 1 \ The number the side of the polygon that we are \ currently processing \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.viewingQuadrantOpp SKIP 1 \ The opposite quadrant number to that containing the \ right edge of the viewing arc \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 1 of 3) \ * DrawSlopingTile \ * DrawTileAndObjects \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.objTypeToAnalyse SKIP 1 \ The type of the object being analysed in the \ GetObjectAngles routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * DrawObject \ * GetObjectAngles \ * GetObjPointAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SKIP 1 \ This byte appears to be unused .polygonNumber SKIP 0 \ A counter for the polygon number as we work through \ the polygons in an object when drawing the object \ \ This variable shares the same memory location as \ pointNumber \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.pointNumber SKIP 1 \ A counter for the point number as we work through the \ points in an object when calculating the point's \ angles \ \ This variable shares the same memory location as \ polygonNumber \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.objectLastPolygon SKIP 0 \ The number of the last polygon in the object being \ drawn \ \ This variable shares the same memory location as \ objectLastPoint \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.objectLastPoint SKIP 1 \ The number of the last point in the object being drawn \ \ This variable shares the same memory location as \ objectLastPolygon \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.pitchDeltaLo SKIP 1 \ The delta between two pitch angles (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.maxPitchAngle SKIP 1 \ The maximum pitch angle that fits into the current \ screen buffer \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * UseRowBuffer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.minPitchAngle SKIP 1 \ The minimum pitch angle that fits into the current \ screen buffer \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * TracePolygonEdge (Part 1 of 8) \ * UseRowBuffer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.drawingPhaseCount SKIP 1 \ A phase counter for objects that need to be drawn in \ multiple phases \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.currentPixelByte SKIP 1 \ The original contents of the screen behind the right \ edge of the polygon being drawn \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.screenOrBuffer SKIP 1 \ Controls whether the graphics routines draw directly \ onto the screen, or into the screen buffer \ \ * 0 = draw directly into screen memory \ \ * 25 = draw into the screen buffer \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 1 of 4) \ * MainGameLoop \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xPolygonRightEdge SKIP 1 \ The screen x-coordinate of the right edge of the \ polygon being drawn \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 3 of 4) \ * DrawPolygonLines (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.screenRowCounter SKIP 1 \ A counter for filling screen rows in the FillScreen \ routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * FillScreen \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.polygonFillPixels SKIP 1 \ A pixel byte containing four pixels set to the fill \ colour for the polygon we are drawing \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.objectGazeYawLo SKIP 1 \ The difference in the yaw angle of the viewer's gaze \ and the yaw angle (i.e. the gaze) of the object being \ analysed (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjectAngles \ * GetObjPointAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.objectGazeYawHi SKIP 1 \ The difference in the yaw angle of the viewer's gaze \ and the yaw angle (i.e. the gaze) of the object being \ analysed (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ * GetObjectAngles \ * GetObjPointAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SKIP 1 \ This byte appears to be unused .bLo SKIP 1 \ The low byte of the opposite side of a triangle when \ calculating the hypotenuse \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHypotenuse \ * GetHypotenuseAngle \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.bHi SKIP 1 \ The high byte of the opposite side of a triangle when \ calculating the hypotenuse \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHypotenuse \ * GetHypotenuseAngle \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.tileDataPage SKIP 2 \ The address of the tileData page containing the \ current tile's data \ \ [Show more]
\ \ This variable is used by the following: \ \ * DeleteObject \ * GenerateLandscape \ * GetHighestTiles \ * GetTileData \ * GetTileViewAngles (Part 2 of 4) \ * PlaceObjectBelow \ * PlaceObjectOnTile \ * ProcessTileData \ * SmoothTileCorners (Part 4 of 4) \ * SpawnCharacter3D (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.considerObjects SKIP 0 \ Controls whether the GetTileAltitude routine takes \ platform objects into consideration when calculating \ tile altitudes (bit 7) and returns details about the \ gaze vector (bit 6) \ \ * Bit 7 set = if the tile contains a platform object \ or a tree, include this in the tile \ calculations \ \ * Bit 6 set = tile contains a platform object and \ the gaze vector is passing close by \ the platform object but not hitting it \ \ See the GetTileAltitude routine for details \ \ This variable shares the same memory location as \ secondAxis \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 1 of 5) \ * FollowGazeVector (Part 2 of 5) \ * GetTileAltitude \ * GetTileAltitudes \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.secondAxis SKIP 1 \ The number of the second axis to calculate in the \ GetRotationMatrix routine \ \ This variable shares the same memory location as \ considerObjects \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRotationMatrix (Part 1 of 5) \ * GetRotationMatrix (Part 4 of 5) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xBufferWidth SKIP 1 \ The width in pixels of the screen buffer \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureBuffer \ * ConfigureObjBuffer \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.fromAddr SKIP 2 \ An address, typically used as a source address when \ copying \ \ [Show more]
\ \ This variable is used by the following: \ \ * DitherScreenBuffer \ * ShowBufferBlock \ * ShowBufferColumn \ * ShowBufferRow \ * ShowIconBuffer \ * ShowScreenBuffer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.toAddr SKIP 2 \ An address, typically used as a destination address \ when copying \ \ [Show more]
\ \ This variable is used by the following: \ \ * DitherScreenBuffer \ * DrawUpdatedObject \ * ScrollPlayerView \ * ShowBufferBlock \ * ShowBufferColumn \ * ShowBufferRow \ * ShowIconBuffer \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.viewingQuadrantx4 SKIP 0 \ The quadrant number containing the right edge of the \ viewing arc, multiplied by 4, for use when calculating \ the number of faces in a tile in DrawSlopingTile \ \ This variable shares the same memory location as \ smoothingAction \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawLandscapeView (Part 1 of 3) \ * DrawSlopingTile \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.smoothingAction SKIP 1 \ The action that's applied to tile data by the \ SmoothTileData routine \ \ See the SmoothTileData routine for details \ \ This variable shares the same memory location as \ viewingQuadrantx4 \ \ [Show more]
\ \ This variable is used by the following: \ \ * SmoothTileCorners (Part 1 of 4) \ * SmoothTileData \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.H SKIP 1 \ Temporary storage, used in the maths routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ * GetSineAndCosine \ * Multiply16x16 \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.RR SKIP 1 \ Temporary storage, used in the maths routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * Multiply16x16 \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.SS SKIP 1 \ Temporary storage, used in the maths routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * Multiply16x16 \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.PP SKIP 1 \ Temporary storage, used in the maths routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * Multiply16x16 \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.QQ SKIP 1 \ Temporary storage, used in the maths routines \ \ [Show more]
\ \ This variable is used by the following: \ \ * Multiply16x16 \ * MultiplyCoords \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xPolygonPointScale SKIP 1 \ A flag to record whether the pixel x-coordinate of the \ polygon points being processed fit into one or two \ bytes \ \ * Bit 6 clear = x-coordinates fit into one byte at \ xPolygonPointLo \ \ * Bit 6 set = x-coordinates fit into two bytes at \ xPolygonPoint(Hi Lo) \ \ The same number of bytes is used to store all of the \ points in a polygon, so two bytes will be used for the \ x-coordinates if any one of the coordinates needs the \ extra byte, even if it's only one point \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 3 of 6) \ * GetPolygonLines (Part 4 of 6) \ * GetPolygonLines (Part 5 of 6) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.screenAddrHi SKIP 1 \ The high byte of the screen memory address in the \ ScrollPlayerView routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * ScrollPlayerView \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.viewingObject SKIP 0 \ The number of the viewing object \ \ This can be the object that is viewing the landscape, \ the enemy object scanning for targets, the viewer of \ the title screen or the game over screen, and so on \ \ This variable shares the same memory location as \ enemyCounter \ \ [Show more]
\ \ This variable is used by the following: \ \ * ApplyTactics (Part 2 of 8) \ * ApplyTactics (Part 3 of 8) \ * ApplyTactics (Part 8 of 8) \ * CheckObjVisibility \ * DrawLandscapeView (Part 1 of 3) \ * DrawTitleView \ * DrawUpdatedObject \ * FollowGazeVector (Part 1 of 5) \ * GetObjectAngles \ * GetObjPointAngles \ * GetTileViewAngles (Part 1 of 4) \ * GetTileViewAngles (Part 3 of 4) \ * MainGameLoop \ * MoveOnToNextEnemy \ * PanLandscapeView \ * ProcessActionKeys (Part 1 of 2) \ * ScanForMeanieTree \ * SpawnTitleObject \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.enemyCounter SKIP 1 \ Used as a loop counter when adding enemies to the \ landscape \ \ This variable shares the same memory location as \ viewingObject \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddEnemiesToTiles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.objectToAnalyse SKIP 1 \ The number of the object to analyse in the \ GetObjectAngles routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ * GetObjectAngles \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.P SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ClearMemory \ * ConfigureMachine \ * DrawIcon \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 4 of 4) \ * Entry \ * FillScreen \ * GetRowVisibility (Part 1 of 2) \ * GetTileAltitudes \ * GetTileVisibility \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.Q SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ClearMemory \ * ConfigureMachine \ * DrawIcon \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 4 of 4) \ * Entry \ * FillScreen \ * GetRowVisibility (Part 1 of 2) \ * GetTileAltitudes \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.R SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureMachine \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 3 of 4) \ * DrawPolygonLines (Part 4 of 4) \ * Entry \ * GetRowVisibility (Part 2 of 2) \ * GetTileAltitudes \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.S SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * ConfigureMachine \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 2 of 4) \ * DrawPolygonLines (Part 4 of 4) \ * Entry \ * FollowGazeVector (Part 2 of 5) \ * FollowGazeVector (Part 3 of 5) \ * FollowGazeVector (Part 5 of 5) \ * GetRowVisibility (Part 2 of 2) \ * GetTileAltitudes \ * GetTileShape \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.T SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * AddEnemiesToTiles \ * AddVectorToCoord \ * AlterCrackerSeed \ * CheckEnemyGaze (Part 1 of 2) \ * CheckEnemyGaze (Part 2 of 2) \ * CheckForTileCentre \ * ConfigureObjBuffer \ * DivideBy16 \ * DrawLandscapeView (Part 1 of 3) \ * DrawObjectStack \ * DrawPolygonLines (Part 1 of 4) \ * DrawPolygonLines (Part 2 of 4) \ * FillScreen \ * FollowGazeVector (Part 2 of 5) \ * FollowGazeVector (Part 3 of 5) \ * FollowGazeVector (Part 5 of 5) \ * GetAngleFromCoords (Part 1 of 3) \ * GetAngleFromCoords (Part 2 of 3) \ * GetAngleFromCoords (Part 3 of 3) \ * GetAngleInRadians \ * GetEnemyCount \ * GetHypotenuse \ * GetHypotenuseAngle \ * GetNextSeed0To22 \ * GetObjPointAngles \ * GetObjVisibility \ * GetPlayerDrain \ * GetPolygonLines (Part 3 of 6) \ * GetPolygonLines (Part 4 of 6) \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * GetRotationMatrix (Part 2 of 5) \ * GetRotationMatrix (Part 3 of 5) \ * GetRowVisibility (Part 1 of 2) \ * GetSightsVector \ * GetSineAndCosine \ * GetTileAltitude \ * GetTilesAtAltitude \ * GetTileShape \ * GetTileViewAngles (Part 2 of 4) \ * GetTileViewAngles (Part 3 of 4) \ * GetTileVisibility \ * GetVectorForAngles \ * Multiply16x16 \ * Multiply8x16 \ * Multiply8x8 \ * MultiplyCoords \ * Negate16Bit \ * PrintInputBuffer \ * ProcessTileData \ * ReadNumber \ * SetColourPalette \ * StringToNumber \ * TracePolygonEdge (Part 6 of 8) \ * TracePolygonEdge (Part 7 of 8) \ * TracePolygonEdge (Part 8 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.U SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more] .yEdgeDeltaHi SKIP 0 \ The difference in pitch angle between two polygon \ points, i.e. the delta along the y-axis (high byte) \ \ This variable shares the same memory location as V \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * GetPolygonLines (Part 6 of 6) \ * TracePolygonEdge (Part 6 of 8) \ * TracePolygonEdge (Part 7 of 8) \ * TracePolygonEdge (Part 8 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.V SKIP 1 \ Temporary storage, used in a number of places \ \ This variable shares the same memory location as \ yEdgeDeltaHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 2 of 5) \ * FollowGazeVector (Part 3 of 5) \ * GetAngleFromCoords (Part 1 of 3) \ * GetAngleFromCoords (Part 2 of 3) \ * GetAngleInRadians \ * GetHypotenuse \ * GetHypotenuseAngle \ * GetRotationMatrix (Part 2 of 5) \ * GetRotationMatrix (Part 3 of 5) \ * GetTileShape \ * GetTileVisibility \ * Multiply16x16 \ * Multiply8x16 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.W SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 2 of 5) \ * GetAngleFromCoords (Part 1 of 3) \ * GetHypotenuseAngle \ * GetTileVisibility \ * Multiply16x16 \ * Multiply8x16 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.G SKIP 1 \ Temporary storage, used in a number of places \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 4 of 5) \ * FollowGazeVector (Part 5 of 5) \ * GetAngleFromCoords (Part 2 of 3) \ * GetAngleFromCoords (Part 3 of 3) \ * Multiply16x16 \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yPlatformLo SKIP 1 \ The low byte of the altitude of the Sentinel's tower \ or boulder when returning tile data from the \ GetTileAltitude routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * FollowGazeVector (Part 1 of 5) \ * GetTileAltitude \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.aLo SKIP 1 \ The low byte of the adjacent side of a triangle when \ calculating the hypotenuse \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHypotenuse \ * GetHypotenuseAngle \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.aHi SKIP 1 \ The high byte of the adjacent side of a triangle when \ calculating the hypotenuse \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHypotenuse \ * GetHypotenuseAngle \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.hypotenuseLo SKIP 1 \ The low byte of the hypotenuse of a triangle \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHypotenuse \ * GetObjectAngles \ * GetPitchAngleDelta \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.hypotenuseHi SKIP 1 \ The high byte of the hypotenuse of a triangle \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawObject \ * GetHypotenuse \ * GetObjectAngles \ * GetPitchAngleDelta \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.angleTangent SKIP 1 \ The tangent of an angle in a right-angled triangle \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetAngleFromCoords (Part 2 of 3) \ * GetAngleFromCoords (Part 3 of 3) \ * GetHypotenuse \ * GetHypotenuseAngle \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.tileIsOnScreen SKIP 0 \ Information on whether a tile is fully on-screen, \ partially on-screen or fully off-screen \ \ This variable shares the same memory location as \ drawPolygon \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetTileViewAngles (Part 1 of 4) \ * GetTileViewAngles (Part 4 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.drawPolygon SKIP 1 \ A flag to record whether the polygon we are currently \ processing contains any visible pixels, so it can be \ used to control whether we actually draw the polygon \ \ * Non-zero = do not draw the polygon \ \ * Zero = do draw the polygon \ \ This variable shares the same memory location as \ tileIsOnScreen \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetPolygonLines (Part 5 of 6) \ * ModifyStoringCode \ * TracePolygonEdge (Part 2 of 8) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xDeltaLo SKIP 1 \ The difference between two x-coordinates (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetHorizontalDelta \ * GetHypotenuseAngle \ * GetObjPointAngles \ * GetObjVisibility \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ * GetTileViewAngles (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yDeltaLo SKIP 1 \ The difference between two y-coordinates (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetObjectAngles \ * GetVerticalDelta \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zDeltaLo SKIP 1 \ The difference between two z-coordinates (low byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHorizontalDelta \ * GetHypotenuseAngle \ * GetObjPointAngles \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xDeltaAbsoluteHi SKIP 1 \ The absolute difference between two x-coordinates \ (high byte), i.e. |xDeltaHi| \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHorizontalDelta \ * GetHypotenuseAngle \ * GetObjPointAngles \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yDeltaHi SKIP 1 \ The difference between two y-coordinates (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetObjectAngles \ * GetVerticalDelta \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.zDeltaAbsoluteHi SKIP 1 \ The absolute difference between two z-coordinates \ (high byte), i.e. |zDeltaHi| \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHorizontalDelta \ * GetHypotenuseAngle \ * GetObjPointAngles \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xDeltaHi SKIP 0 \ The difference between two x-coordinates (high byte) \ \ This variable shares the same memory location as \ xVectorHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHorizontalDelta \ * GetHypotenuseAngle \ * GetObjPointAngles \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.xVectorHi SKIP 1 \ The x-coordinate of a vector (high byte) \ \ For example, this is used to when ray-tracing from the \ player to tile corners in GetRowVisibility \ \ This variable shares the same memory location as \ xDeltaHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 1 of 2) \ * GetRowVisibility (Part 2 of 2) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.yVectorHi SKIP 1 \ The y-coordinate of a vector (high byte) \ \ For example, this is used to when ray-tracing from the \ player to tile corners in GetRowVisibility .zVectorHi SKIP 0 \ The z-coordinate of a vector (high byte) \ \ For example, this is used to when ray-tracing from the \ player to tile corners in GetRowVisibility \ \ This variable shares the same memory location as \ zDeltaHi .zDeltaHi SKIP 1 \ The difference between two z-coordinates (high byte) \ \ This variable shares the same memory location as \ zVectorHi \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetHorizontalDelta \ * GetHypotenuseAngle \ * GetObjPointAngles \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SKIP 1 \ This byte appears to be unused .angleLo SKIP 1 \ The high byte of an angle \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetAngleFromCoords (Part 2 of 3) \ * GetAngleFromCoords (Part 3 of 3) \ * GetHypotenuseAngle \ * GetObjectAngles \ * GetObjPointAngles \ * GetObjVisibility \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.angleHi SKIP 1 \ The low byte of an angle \ \ [Show more]
\ \ This variable is used by the following: \ \ * CheckEnemyGaze (Part 2 of 2) \ * GetAngleFromCoords (Part 2 of 3) \ * GetAngleFromCoords (Part 3 of 3) \ * GetHypotenuseAngle \ * GetObjectAngles \ * GetObjPointAngles \ * GetObjVisibility \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 1 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
SKIP 1 \ This byte appears to be unused .pitchDeltaHi SKIP 1 \ The delta between two pitch angles (high byte) \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ * GetPitchAngleDelta \ * GetTileViewAngles (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.sinA SKIP 1 \ The result of the sin(A) calculation in the \ GetSineAndCosine routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ * GetSineAndCosine \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.cosA SKIP 1 \ The result of the cos(A) calculation in the \ GetSineAndCosine routine \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetObjPointAngles \ * GetSineAndCosine \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
Name: Stack variables [Show more] Type: Workspace Address: &0100 to &01BF Category: Workspaces Summary: Variables that share page 1 with the stack
Context: See this workspace on its own page References: No direct references to this workspace in this source file
ORG &0100 \ Set the assembly address to &0100 .objectFlags SKIP 64 \ Object flags for up to 64 objects \ \ * Bits 0-5 = the number of the object beneath this \ one, if bit 6 is set (0 to 63) \ \ * Bit 6 = is this object stacked on top of another \ object? \ \ * Clear = no \ \ * Set = this object is on top of another object \ and the number of the object beneath \ this one is in bits 0-5 \ \ * Bit 7 = has this object number been allocated to \ an object or is it unused? \ \ * Clear = this object number has been allocated \ to an object \ \ * Set = this object number is unused \ \ [Show more]
\ \ This variable is used by the following: \ \ * ApplyEnemyTactics \ * ApplyTactics (Part 2 of 8) \ * CheckEnemyGaze (Part 1 of 2) \ * CheckSecretCode (Part 1 of 2) \ * CheckSecretCode (Part 2 of 2) \ * DeleteObject \ * DrawObjectStack \ * FindObjectToDrain \ * GetPlayerDrain \ * GetTileAltitude \ * GetTileViewAngles (Part 3 of 4) \ * PlaceObjectOnTile \ * ProcessActionKeys (Part 2 of 2) \ * ResetTilesObjects \ * ScanForMeanieTree \ * SetPlayerIsOnTower \ * SpawnObject \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.objectPitchAngle SKIP 64 \ The pitch angle for each object (i.e. the vertical \ direction in which they are facing) \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawTitleView \ * GetPitchAngleDelta \ * GetSightsVector \ * MoveSightsUpDown \ * PanLandscapeView \ * PlaceObjectOnTile \ * SpawnTitleObject \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.tileViewData SKIP 0 \ The tile data for tiles in the current landscape view \ \ This variable shares the same memory location as \ oddVisibility and evenVisibility \ \ [Show more]
\ \ This variable is used by the following: \ \ * DrawTileAndObjects \ * GetTileViewAngles (Part 2 of 4) \ * GetTileViewAngles (Part 3 of 4) \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.oddVisibility SKIP 32 \ The visibility of tiles corners in odd rows as they \ are processed by the GetRowVisibility routine \ \ * 0 = tile corner is not visible \ \ * &FF = tile corner is visible \ \ This variable shares the same memory location as \ tileViewData \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetRowVisibility (Part 2 of 2) \ * GetTileVisibility \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above
.evenVisibility SKIP 32 \ The visibility of tiles corners in even rows as they \ are processed by the GetRowVisibility routine \ \ * 0 = tile corner is not visible \ \ * &FF = tile corner is visible \ \ This variable shares the same memory location as \ tileViewData \ \ [Show more]
\ \ This variable is used by the following: \ \ * GetTileVisibility \ \ This list only includes code that refers to the \ variable by name; there may be other references to \ this memory location that don't use this label, and \ these will not be mentioned above