| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | ; Functions handling map objects. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | GetSpritePalette:: ; 17ff | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push hl | 
					
						
							|  |  |  | 	push de | 
					
						
							|  |  |  | 	push bc | 
					
						
							|  |  |  | 	ld c, a | 
					
						
							|  |  |  | 	callba _GetSpritePalette | 
					
						
							|  |  |  | 	ld a, c | 
					
						
							|  |  |  | 	pop bc | 
					
						
							|  |  |  | 	pop de | 
					
						
							|  |  |  | 	pop hl | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 180e | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function180e:: ; 180e | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push hl | 
					
						
							|  |  |  | 	push bc | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld hl, UsedSprites + 2 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld c, SPRITE_GFX_LIST_CAPACITY - 1 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld b, a | 
					
						
							|  |  |  | 	ld a, [hConnectionStripLength] | 
					
						
							|  |  |  | 	cp $0 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr z, .nope | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, b | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .loop | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr z, .found | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	inc hl | 
					
						
							|  |  |  | 	inc hl | 
					
						
							|  |  |  | 	dec c | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr nz, .loop | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld a, [UsedSprites + 1] | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	scf | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr .done | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .nope | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld a, [UsedSprites + 1] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr .done | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .found | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	inc hl | 
					
						
							|  |  |  | 	xor a | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .done | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	pop bc | 
					
						
							|  |  |  | 	pop hl | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1836 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1836:: ; 1836 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push de | 
					
						
							|  |  |  | 	push hl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ld b, a | 
					
						
							|  |  |  | 	ld a, [hROMBank] | 
					
						
							|  |  |  | 	push af | 
					
						
							|  |  |  | 	ld a, BANK(Function142a7) | 
					
						
							|  |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ld a, b | 
					
						
							|  |  |  | 	call Function142a7 | 
					
						
							|  |  |  | 	ld c, a | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	pop de | 
					
						
							|  |  |  | 	ld a, d | 
					
						
							|  |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	pop hl | 
					
						
							|  |  |  | 	pop de | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 184a | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function184a:: ; 184a | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [StandingTile] | 
					
						
							|  |  |  | 	call GetTileCollision | 
					
						
							|  |  |  | 	ld b, a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1852 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1852:: ; 1852 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [StandingTile] | 
					
						
							|  |  |  | 	call GetTileCollision | 
					
						
							|  |  |  | 	sub 1 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	and a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 185d | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | GetTileCollision:: ; 185d | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | ; Get the collision type of tile a. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	push de | 
					
						
							|  |  |  | 	push hl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ld hl, TileCollisionTable | 
					
						
							|  |  |  | 	ld e, a | 
					
						
							|  |  |  | 	ld d, 0 | 
					
						
							|  |  |  | 	add hl, de | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ld a, [hROMBank] | 
					
						
							|  |  |  | 	push af | 
					
						
							|  |  |  | 	ld a, BANK(TileCollisionTable) | 
					
						
							|  |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 	ld e, [hl] | 
					
						
							|  |  |  | 	pop af | 
					
						
							|  |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ld a, e | 
					
						
							|  |  |  | 	and $f ; lo nybble only | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	pop hl | 
					
						
							|  |  |  | 	pop de | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1875 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1875:: ; 1875 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld d, a | 
					
						
							|  |  |  | 	and $f0 | 
					
						
							|  |  |  | 	cp $10 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr z, .ok_10 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $20 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr z, .ok_20 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .ok_10 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, d | 
					
						
							|  |  |  | 	and 7 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .ok_20 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, d | 
					
						
							|  |  |  | 	and 7 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 188e | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function188e:: ; 188e | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $14 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $1c | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1894 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckCutTreeTile:: ; 1894 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $12 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $1a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 189a | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckHeadbuttTreeTile:: ; 189a | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $15 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $1d | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18a0 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckCounterTile:: ; 18a0 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $90 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $98 | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18a6 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckPitTile:: ; 18a6 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $60 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $68 | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18ac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckIceTile:: ; 18ac | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $23 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $2b | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18b4 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckWhirlpoolTile:: ; 18b4 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	nop | 
					
						
							|  |  |  | 	cp $24 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $2c | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18bd | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckWaterfallTile:: ; 18bd | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp $33 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $3b | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18c3 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | CheckStandingOnEntrance:: ; 18c3 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [StandingTile] | 
					
						
							|  |  |  | 	cp $71 ; door | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $79 | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $7a ; stairs | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $7b ; cave | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18d2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | GetMapObject:: ; 18d2 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | ; Return the location of map object a in bc. | 
					
						
							|  |  |  | 	ld hl, MapObjects | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld bc, OBJECT_LENGTH | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	call AddNTimes | 
					
						
							|  |  |  | 	ld b, h | 
					
						
							|  |  |  | 	ld c, l | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18de | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function18de:: ; 18de | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | ; Sets carry if the object is not visible on the screen. | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld [hConnectionStripLength], a | 
					
						
							|  |  |  | 	call GetMapObject | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, MAPOBJECT_VRAM_ID | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	cp MAPOBJECT_NOT_VISIBLE | 
					
						
							|  |  |  | 	jr z, .not_visible | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld [hConnectedMapWidth], a | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	call GetObjectStruct | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	and a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .not_visible | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 18f5 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function18f5:: ; 18f5 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, MAPOBJECT_HOUR | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	cp -1 | 
					
						
							|  |  |  | 	jr nz, .check_hour | 
					
						
							|  |  |  | 	ld hl, MAPOBJECT_TIMEOFDAY | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	cp -1 | 
					
						
							|  |  |  | 	jr z, .timeofday_always | 
					
						
							|  |  |  | 	ld hl, .TimeOfDayValues_191e | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [TimeOfDay] | 
					
						
							|  |  |  | 	add l | 
					
						
							|  |  |  | 	ld l, a | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr nc, .ok | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	inc h | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .ok | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, MAPOBJECT_TIMEOFDAY | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	and [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr nz, .timeofday_always | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .timeofday_always | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	and a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .TimeOfDayValues_191e | 
					
						
							|  |  |  | 	db 1 << MORN ; 1 | 
					
						
							|  |  |  | 	db 1 << DAY  ; 2 | 
					
						
							|  |  |  | 	db 1 << NITE ; 4 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .check_hour | 
					
						
							|  |  |  | 	ld hl, MAPOBJECT_HOUR | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld d, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, MAPOBJECT_TIMEOFDAY | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld e, [hl] | 
					
						
							|  |  |  | 	ld hl, hHours | 
					
						
							|  |  |  | 	ld a, d | 
					
						
							|  |  |  | 	cp e | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr z, .yes | 
					
						
							|  |  |  | 	jr c, .check_timeofday | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [hl] | 
					
						
							|  |  |  | 	cp d | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr nc, .yes | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp e | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr c, .yes | 
					
						
							|  |  |  | 	jr z, .yes | 
					
						
							|  |  |  | 	jr .no | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .check_timeofday | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, e | 
					
						
							|  |  |  | 	cp [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr c, .no | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [hl] | 
					
						
							|  |  |  | 	cp d | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr nc, .yes | 
					
						
							|  |  |  | 	jr .no | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .yes | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	and a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .no | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	scf | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 194d | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function194d:: ; 194d | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld [hConnectionStripLength], a | 
					
						
							|  |  |  | 	call GetMapObject | 
					
						
							| 
									
										
										
										
											2013-12-24 17:11:52 -05:00
										 |  |  | 	call Function80e7 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ret | 
					
						
							|  |  |  | ; 1956 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1956:: ; 1956 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld [hConnectionStripLength], a | 
					
						
							|  |  |  | 	call Function271e | 
					
						
							|  |  |  | 	ld a, [hConnectionStripLength] | 
					
						
							|  |  |  | 	call GetMapObject | 
					
						
							| 
									
										
										
										
											2013-10-02 02:47:54 +02:00
										 |  |  | 	callba Function80e7 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ret | 
					
						
							|  |  |  | ; 1967 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1967:: ; 1967 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld [hConnectionStripLength], a | 
					
						
							|  |  |  | 	call GetMapObject | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, MAPOBJECT_VRAM_ID | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	cp MAPOBJECT_NOT_VISIBLE | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ret z | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld [hl], MAPOBJECT_NOT_VISIBLE | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push af | 
					
						
							|  |  |  | 	call Function1985 | 
					
						
							|  |  |  | 	pop af | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	call GetObjectStruct | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	callba Function4357 | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1985 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1985:: ; 1985 | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld hl, wd4cd | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr z, .ok | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld hl, wd4ce | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp [hl] | 
					
						
							|  |  |  | 	ret nz | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .ok | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	callba Function581f | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld a, -1 | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld [wd4cd], a | 
					
						
							|  |  |  | 	ld [wd4ce], a | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ret | 
					
						
							|  |  |  | ; 199f | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function199f:: ; 199f | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	call Function1967 | 
					
						
							|  |  |  | 	call Function2712 | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 19a6 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function19a6:: ; 19a6 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push hl | 
					
						
							|  |  |  | 	call GetMapObject | 
					
						
							|  |  |  | 	ld d, b | 
					
						
							|  |  |  | 	ld e, c | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld a, MAPOBJECT_NOT_VISIBLE | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld [de], a | 
					
						
							|  |  |  | 	inc de | 
					
						
							|  |  |  | 	pop hl | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld bc, OBJECT_LENGTH - 1 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	call CopyBytes | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 19b8 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function19b8:: ; 19b8 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	call GetMapObject | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, MAPOBJECT_VRAM_ID | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							|  |  |  | 	push af | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld [hl], MAPOBJECT_NOT_VISIBLE | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	inc hl | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld bc, OBJECT_LENGTH - 1 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	xor a | 
					
						
							|  |  |  | 	call ByteFill | 
					
						
							|  |  |  | 	pop af | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	cp MAPOBJECT_NOT_VISIBLE | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ret z | 
					
						
							|  |  |  | 	cp $d | 
					
						
							|  |  |  | 	ret nc | 
					
						
							|  |  |  | 	ld b, a | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld a, [wd4cd] | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	cp b | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr nz, .ok | 
					
						
							|  |  |  | 	ld a, -1 | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld [wd4cd], a | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .ok | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, b | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	call GetObjectStruct | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	callba Function4357 | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 19e9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function19e9:: ; 19e9 | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld [wc2e2], a | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [hROMBank] | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld [wc2e3], a | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, l | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld [wc2e3 + 1], a | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, h | 
					
						
							| 
									
										
										
										
											2015-02-10 15:14:41 -08:00
										 |  |  | 	ld [wc2e3 + 2], a | 
					
						
							|  |  |  | 	ld a, [wc2e2] | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	call Function18de | 
					
						
							|  |  |  | 	ret c | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_03 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld [hl], $14 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_09 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld [hl], 0 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld hl, VramState | 
					
						
							|  |  |  | 	set 7, [hl] | 
					
						
							|  |  |  | 	and a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1a13 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1a13:: ; 1a13 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push bc | 
					
						
							|  |  |  | 	push de | 
					
						
							| 
									
										
										
										
											2014-06-19 17:23:53 -07:00
										 |  |  | 	ld hl, ObjectStructs | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld de, OBJECT_STRUCT_LENGTH | 
					
						
							|  |  |  | 	ld c, NUM_OBJECT_STRUCTS | 
					
						
							|  |  |  | .loop | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [hl] | 
					
						
							|  |  |  | 	and a | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr z, .empty | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, de | 
					
						
							|  |  |  | 	dec c | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr nz, .loop | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	xor a | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	jr .done | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .empty | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, $d | 
					
						
							|  |  |  | 	sub c | 
					
						
							|  |  |  | 	scf | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .done | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	pop de | 
					
						
							|  |  |  | 	pop bc | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1a2f | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1a2f:: ; 1a2f | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_03 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	cp OBJECT_STRUCT_3_DATA_HEIGHT | 
					
						
							|  |  |  | 	jr c, .ok | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	xor a | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | .ok | 
					
						
							|  |  |  | 	ld hl, ObjectStruct3_Data | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld e, a | 
					
						
							|  |  |  | 	ld d, 0 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	add_n_times hl, de, OBJECT_STRUCT_3_DATA_WIDTH | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [hl] | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1a47 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1a47:: ; 1a47 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push bc | 
					
						
							|  |  |  | 	push de | 
					
						
							|  |  |  | 	ld e, a | 
					
						
							|  |  |  | 	ld d, 0 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, ObjectStruct3_Data + 1 | 
					
						
							|  |  |  | 	add_n_times hl, de, OBJECT_STRUCT_3_DATA_WIDTH | 
					
						
							|  |  |  | 	ld a, BANK(ObjectStruct3_Data) | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	call GetFarByte | 
					
						
							|  |  |  | 	add a | 
					
						
							|  |  |  | 	add a | 
					
						
							|  |  |  | 	and $c | 
					
						
							|  |  |  | 	pop de | 
					
						
							|  |  |  | 	pop bc | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1a61 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1a61:: ; 1a61 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld l, a | 
					
						
							|  |  |  | 	ld a, [hROMBank] | 
					
						
							|  |  |  | 	push af | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld a, BANK(ObjectStruct3_Data) | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 	ld a, l | 
					
						
							|  |  |  | 	push bc | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	call Function1a71 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	pop bc | 
					
						
							|  |  |  | 	pop af | 
					
						
							|  |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1a71 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1a71:: ; 1a71 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_03 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, de | 
					
						
							|  |  |  | 	ld [hl], a | 
					
						
							|  |  |  | 	push de | 
					
						
							|  |  |  | 	ld e, a | 
					
						
							|  |  |  | 	ld d, 0 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, ObjectStruct3_Data + 1 | 
					
						
							|  |  |  | 	add_n_times hl, de, OBJECT_STRUCT_3_DATA_WIDTH | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld b, h | 
					
						
							|  |  |  | 	ld c, l | 
					
						
							|  |  |  | 	pop de | 
					
						
							|  |  |  | 	ld a, [bc] | 
					
						
							|  |  |  | 	inc bc | 
					
						
							|  |  |  | 	rlca | 
					
						
							|  |  |  | 	rlca | 
					
						
							|  |  |  | 	and $c | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_FACING | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, de | 
					
						
							|  |  |  | 	ld [hl], a | 
					
						
							|  |  |  | 	ld a, [bc] | 
					
						
							|  |  |  | 	inc bc | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_11 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, de | 
					
						
							|  |  |  | 	ld [hl], a | 
					
						
							|  |  |  | 	ld a, [bc] | 
					
						
							|  |  |  | 	inc bc | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_04 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, de | 
					
						
							|  |  |  | 	ld [hl], a | 
					
						
							|  |  |  | 	ld a, [bc] | 
					
						
							|  |  |  | 	inc bc | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_FLAGS | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, de | 
					
						
							|  |  |  | 	ld [hl], a | 
					
						
							|  |  |  | 	ld a, [bc] | 
					
						
							|  |  |  | 	inc bc | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_PALETTE | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, de | 
					
						
							|  |  |  | 	ld [hl], a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1aae | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | Function1aae:: ; 1aae | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [hROMBank] | 
					
						
							|  |  |  | 	push af | 
					
						
							|  |  |  | 	ld a, [hli] | 
					
						
							|  |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ld a, [hli] | 
					
						
							|  |  |  | 	ld d, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_27 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	add [hl] | 
					
						
							|  |  |  | 	ld e, a | 
					
						
							|  |  |  | 	ld a, d | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	adc 0 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld d, a | 
					
						
							|  |  |  | 	inc [hl] | 
					
						
							|  |  |  | 	ld a, [de] | 
					
						
							|  |  |  | 	ld h, a | 
					
						
							|  |  |  | 	pop af | 
					
						
							|  |  |  | 	rst Bankswitch | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ld a, h | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1ac6 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | SetVramState_Bit0:: ; 1ac6 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld hl, VramState | 
					
						
							|  |  |  | 	set 0, [hl] | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1acc | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | ResetVramState_Bit0:: ; 1acc | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld hl, VramState | 
					
						
							|  |  |  | 	res 0, [hl] | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1ad2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | DrawOnMap:: ; 1ad2 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld a, [VramState] | 
					
						
							|  |  |  | 	bit 0, a | 
					
						
							|  |  |  | 	ret z | 
					
						
							|  |  |  | 	callba Function55e0 | 
					
						
							|  |  |  | 	callba Function5920 | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1ae5 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | GetObjectStruct:: ; 1ae5 | 
					
						
							|  |  |  | 	ld bc, OBJECT_STRUCT_LENGTH | 
					
						
							| 
									
										
										
										
											2014-06-19 17:23:53 -07:00
										 |  |  | 	ld hl, ObjectStructs | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	call AddNTimes | 
					
						
							|  |  |  | 	ld b, h | 
					
						
							|  |  |  | 	ld c, l | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1af1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | GetObjectSprite:: ; 1af1 | 
					
						
							|  |  |  | 	ld hl, OBJECT_SPRITE | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							|  |  |  | 	and a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1af8 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | SetSpriteDirection:: ; 1af8 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	push af | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_FACING | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	and %11110011 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ld e, a | 
					
						
							|  |  |  | 	pop af | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	and %00001100 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	or e | 
					
						
							|  |  |  | 	ld [hl], a | 
					
						
							|  |  |  | 	ret | 
					
						
							|  |  |  | ; 1b07 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-01 20:26:39 -05:00
										 |  |  | GetSpriteDirection:: ; 1b07 | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	ld hl, OBJECT_FACING | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	add hl, bc | 
					
						
							|  |  |  | 	ld a, [hl] | 
					
						
							| 
									
										
										
										
											2015-07-15 15:48:44 -04:00
										 |  |  | 	and %00001100 | 
					
						
							| 
									
										
										
										
											2013-09-03 18:39:19 -04:00
										 |  |  | 	ret | 
					
						
							|  |  |  | ; 1b0f |