126
edits
Jestar jokin (talk | contribs) m (fix table) |
Jestar jokin (talk | contribs) (Correct opcode for drawObject, some entries to do with aux opcode values.) |
||
Line 8: | Line 8: | ||
|opcode||The instruction's opcode, with the appropriate bits set according to the parameters. | |opcode||The instruction's opcode, with the appropriate bits set according to the parameters. | ||
|- | |- | ||
|aux||An aux opcode that stores parameter bits and no other information. (the base aux opcode | |aux||An aux opcode that stores parameter bits and no other information. (the base aux opcode is usually $01, but can differ for each instruction) | ||
|- | |- | ||
|sub-opcode||An aux opcode that indicates a specific function to perform (e.g. the "wait" instruction has sub-opcodes to "wait for message", "wait for actor" etc), as well as storing parameter bits if necessary. | |sub-opcode||An aux opcode that indicates a specific function to perform (e.g. the "wait" instruction has sub-opcodes to "wait for message", "wait for actor" etc), as well as storing parameter bits if necessary. | ||
Line 384: | Line 384: | ||
Draws a solid box on the backbuffer from (left, top) to (right, bottom) in the given colour. | Draws a solid box on the backbuffer from (left, top) to (right, bottom) in the given colour. | ||
The only part of auxopcode that is relevant are the parameter bits. The rest of the opcode is ignored. | The only part of auxopcode that is relevant are the parameter bits. The rest of the opcode is ignored. However, the aux opcode's initial value is $05. | ||
Line 395: | Line 395: | ||
$01 xpos[p16] ypos[p16] | $01 xpos[p16] ypos[p16] | ||
$02 state[p16] | $02 state[p16] | ||
$ | $FF | ||
===Operation=== | ===Operation=== | ||
Line 406: | Line 406: | ||
|$02||Set State||Sets the state of the object, adds it to the drawing queue. | |$02||Set State||Sets the state of the object, adds it to the drawing queue. | ||
|- | |- | ||
|$ | |$FF||Draw||Does not change the object's position (or state?), still adds it to the drawing queue. | ||
|} | |} | ||
Line 1,244: | Line 1,244: | ||
|$03||SO_ROOM_SCREEN||Initialises a screen. | |$03||SO_ROOM_SCREEN||Initialises a screen. | ||
|- | |- | ||
|$04||SO_ROOM_PALETTE||Adjusts the room's palette. | |$04||SO_ROOM_PALETTE||Adjusts the room's palette. Aux opcode's initial value is $04. | ||
|- | |- | ||
|$05||SO_ROOM_SHAKE_ON||Starts the room shaking. | |$05||SO_ROOM_SHAKE_ON||Starts the room shaking. | ||
Line 1,258: | Line 1,258: | ||
|$0A||SO_ROOM_FADE||If effect is 0, fades in the room. Otherwise, fades out with the given effect (taken from the high byte of effect).<br>1 = iris effect<br>2 = box wipe (upper-left to bottom-right)<br>3 = box wipe (upper-right to bottem-left)<br>4 = inverse box wipe. | |$0A||SO_ROOM_FADE||If effect is 0, fades in the room. Otherwise, fades out with the given effect (taken from the high byte of effect).<br>1 = iris effect<br>2 = box wipe (upper-left to bottom-right)<br>3 = box wipe (upper-right to bottem-left)<br>4 = inverse box wipe. | ||
|- | |- | ||
|$0B||SO_RGB_ROOM_INTENSITY||Lightens/darkens the room's palette, with different scales for red, green and blue. | |$0B||SO_RGB_ROOM_INTENSITY||Lightens/darkens the room's palette, with different scales for red, green and blue. Aux opcode's initial value is $0B. | ||
|- | |- | ||
|$0C||SO_ROOM_SHADOW||Lightens/darkens the shadow palette, with different scales for red, green, and blue. | |$0C||SO_ROOM_SHADOW||Lightens/darkens the shadow palette, with different scales for red, green, and blue. |
edits