Bytecode: Difference between revisions
Appearance
Replace obsolete bokasm tool with BokMagic |
More control 0xd4cb documentation |
||
Line 640: | Line 640: | ||
set-zone = [[#opcode_60|control 0xd4cb]], zone_id, unknown_1, kw_m, [ kw_w ], [ kw_s ], [ kw_b ], callback, [[#opcode_00|end]] ; | set-zone = [[#opcode_60|control 0xd4cb]], zone_id, unknown_1, kw_m, [ kw_w ], [ kw_s ], [ kw_b ], callback, [[#opcode_00|end]] ; | ||
kw_m = [[#opcode_50|keyword 0x63]], | kw_m = [[#opcode_50|keyword 0x63]], value ; | ||
kw_w = [[#opcode_50|keyword 0x77]], { value } ; // Likely paramaters passed to the callback? | kw_w = [[#opcode_50|keyword 0x77]], { value } ; // Likely paramaters passed to the callback? | ||
kw_s = [[#opcode_50|keyword 0x73]], { value } ; // unknown | kw_s = [[#opcode_50|keyword 0x73]], { value } ; // unknown | ||
Line 647: | Line 647: | ||
callback = [[#opcode_50|keyword 0x65]], [[#opcode_80|block]] ; | callback = [[#opcode_50|keyword 0x65]], [[#opcode_80|block]] ; | ||
zone_id refers to the zone id defined in the [[Map file#Zone data|map file]]. | zone_id refers to the zone id defined in the [[Map file#Zone data|map file]]. unknown_1 should be an "actor type", to set which type of actors can trigger the callback. | ||
The kw_m value determines when the callback gets invoked. kw_m=0xdd2 will only invoke the callback on the frame when the actor enters the zone. This is the most common case. | |||
kw_m=0x1516 will invoke the callback when the actor enters the zone, every frame the actor remains in the zone, and when the actor leaves the zone (these cases can be distinguished in the callback by examining <code>param 0x3</code>, which will be 0xdd2 for enter, 0xa5bf for remain, and 0xd5cc for exit). | |||
''TODO'': The callback will receive many parameters, these need to be documented. There may also be other kw_m values. | |||
Example: | Example: |