added OBJ_GetChildAt
This commit is contained in:
@@ -271,6 +271,39 @@ OBJ_GetLastChild_ret:
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine OBJ_GetChildAt @global
|
||||
;
|
||||
; @param Y address of object
|
||||
; @param R16 idx of child to get (starting at 0)
|
||||
; @return CFLAG set, if found, cleared otherwise
|
||||
; @return r19:r18 resulting object
|
||||
; @clobbers none
|
||||
|
||||
OBJ_GetChildAt:
|
||||
push yl
|
||||
push yh
|
||||
rcall OBJ_GetFirstChild ; R19:R18=obj (none)
|
||||
brcc OBJ_GetChildAt_ret
|
||||
|
||||
OBJ_GetChildAt_loop:
|
||||
tst r16
|
||||
breq OBJ_GetChildAt_secRet
|
||||
mov yl, r18
|
||||
mov yh, r19
|
||||
rcall OBJ_GetNext ; R19:R18=obj (none)
|
||||
brcs OBJ_GetChildAt_loop
|
||||
rjmp OBJ_GetChildAt_ret ; idx too high, not found
|
||||
OBJ_GetChildAt_secRet:
|
||||
sec
|
||||
OBJ_GetChildAt_ret:
|
||||
pop yh
|
||||
pop yl
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine OBJ_AddChild @global
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user