mirror of https://github.com/zeldaret/tmc.git
				
				
				
			add tiles.h
This commit is contained in:
		
							parent
							
								
									d29468c30b
								
							
						
					
					
						commit
						6ecaea44c5
					
				| 
						 | 
				
			
			@ -5,8 +5,8 @@
 | 
			
		|||
 | 
			
		||||
	.text
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_08050154
 | 
			
		||||
sub_08050154: @ 0x08050154
 | 
			
		||||
	thumb_func_start UpdateFade
 | 
			
		||||
UpdateFade: @ 0x08050154
 | 
			
		||||
	push {r4, r5, r6, lr}
 | 
			
		||||
	ldr r4, _08050180 @ =gFadeControl
 | 
			
		||||
	ldrh r0, [r4, #8]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -329,7 +329,7 @@
 | 
			
		|||
	.2byte \s
 | 
			
		||||
.endm
 | 
			
		||||
 | 
			
		||||
.macro _0807E788 w:req
 | 
			
		||||
.macro SetFadeMask w:req
 | 
			
		||||
	.2byte 0x0c39
 | 
			
		||||
	.4byte \w
 | 
			
		||||
.endm
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,7 +31,7 @@ script_08012368:
 | 
			
		|||
	StopBgm
 | 
			
		||||
	BeginBlock 
 | 
			
		||||
	_0807E778 0x0004
 | 
			
		||||
	_0807E788 0x00007fff
 | 
			
		||||
	SetFadeMask 0x00007fff
 | 
			
		||||
	DoFade5 
 | 
			
		||||
	_0807E858 0x0080
 | 
			
		||||
	EndBlock 
 | 
			
		||||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ script_08012368:
 | 
			
		|||
	Wait 0x003c
 | 
			
		||||
	BeginBlock 
 | 
			
		||||
	_0807E778 0x0004
 | 
			
		||||
	_0807E788 0xffffffff
 | 
			
		||||
	SetFadeMask 0xffffffff
 | 
			
		||||
	DoFade4 
 | 
			
		||||
	_0807E858 0x0080
 | 
			
		||||
	EndBlock 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,7 +77,7 @@ script_0801248A:
 | 
			
		|||
	MoveEntityToPlayer 
 | 
			
		||||
	Call sub_0807F844
 | 
			
		||||
	CameraTargetPlayer 
 | 
			
		||||
	_0807E788 0xffffffff
 | 
			
		||||
	SetFadeMask 0xffffffff
 | 
			
		||||
	_0807E778 0x0004
 | 
			
		||||
	_0807E800 0x00000000
 | 
			
		||||
	WaitFor_2 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,7 +49,7 @@ SCRIPT_START script_080131AC
 | 
			
		|||
	_0807EA94 
 | 
			
		||||
	_0807E5F8 0x00000020
 | 
			
		||||
	WaitForSomething2 0x00000040
 | 
			
		||||
	_0807E788 0xffff7fff
 | 
			
		||||
	SetFadeMask 0xffff7fff
 | 
			
		||||
	_0807E778 0x0004
 | 
			
		||||
	DoFade5 
 | 
			
		||||
	WaitFor_2 
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +60,7 @@ SCRIPT_START script_080131AC
 | 
			
		|||
	Call sub_0807F5C0
 | 
			
		||||
	TextboxNoOverlapFollowPos 0x1604, 0x0007
 | 
			
		||||
	_0807EA94 
 | 
			
		||||
	_0807E788 0xffffffff
 | 
			
		||||
	SetFadeMask 0xffffffff
 | 
			
		||||
	_0807E778 0x0004
 | 
			
		||||
	DoFade4 
 | 
			
		||||
	WaitFor_2 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,4 +62,4 @@ SCRIPT_START script_08016384
 | 
			
		|||
	WaitFor_1 
 | 
			
		||||
	WaitFor_2 
 | 
			
		||||
	_0807E778 0x0004
 | 
			
		||||
	_0807E788 0x0000ffff
 | 
			
		||||
	SetFadeMask 0x0000ffff
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,7 +89,7 @@ extern void DoSoftReset(void);
 | 
			
		|||
extern void sub_08056260(void);
 | 
			
		||||
extern void VBlankIntrWait();
 | 
			
		||||
extern void MessageUpdate(void);
 | 
			
		||||
extern void sub_08050154(void);
 | 
			
		||||
extern void UpdateFade(void);
 | 
			
		||||
 | 
			
		||||
extern u8 gUnk_03003DE4;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -93,7 +93,7 @@ typedef struct {
 | 
			
		|||
    u8 field_0x1;
 | 
			
		||||
    u8 field_0x2;
 | 
			
		||||
    u8 field_0x3;
 | 
			
		||||
    u32 field_0x4;
 | 
			
		||||
    u32 mask;
 | 
			
		||||
    u16 fadeType;  // fade in or out, are there others?
 | 
			
		||||
    u16 fadeSpeed; // subtracted from duration
 | 
			
		||||
    u16 fadeDuration;
 | 
			
		||||
| 
						 | 
				
			
			@ -103,9 +103,9 @@ typedef struct {
 | 
			
		|||
    s16 field_0x14;
 | 
			
		||||
    u16 field_0x16;
 | 
			
		||||
    u16 field_0x18;
 | 
			
		||||
} struct_03000FD0;
 | 
			
		||||
} FadeControl;
 | 
			
		||||
 | 
			
		||||
extern struct_03000FD0 gFadeControl;
 | 
			
		||||
extern FadeControl gFadeControl;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    u8 filler0[0x1A];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,18 @@
 | 
			
		|||
#ifndef TILES_H
 | 
			
		||||
#define TILES_H
 | 
			
		||||
 | 
			
		||||
typedef enum {
 | 
			
		||||
    CUT_BUSH = 0x1C,
 | 
			
		||||
    CUT_GRASS = 0x1D,
 | 
			
		||||
    CUT_SIGNPOST = 0x1E,
 | 
			
		||||
    CUT_TREE = 0x1F,
 | 
			
		||||
    ROCK = 0x55,
 | 
			
		||||
    CHEST = 0x73,
 | 
			
		||||
    SIGNPOST = 0x176,
 | 
			
		||||
    PERMA_ROCK = 0x1D3,
 | 
			
		||||
    PERMA_ROCK2 = 0x1D4,
 | 
			
		||||
    PERMA_ROCK3 = 0x1D5,
 | 
			
		||||
    PERMA_ROCK4 = 0x1D6,
 | 
			
		||||
} Tile;
 | 
			
		||||
 | 
			
		||||
#endif // TILES_H
 | 
			
		||||
| 
						 | 
				
			
			@ -198,7 +198,6 @@ s32 fade(s32 target, s32 current) {
 | 
			
		|||
 | 
			
		||||
void doPlaySound(u32 sound) {
 | 
			
		||||
    u32 volume;
 | 
			
		||||
    u32 iVar2;
 | 
			
		||||
    MusicPlayerInfo* musicPlayerInfo;
 | 
			
		||||
 | 
			
		||||
    if (sound == 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -209,8 +208,7 @@ void doPlaySound(u32 sound) {
 | 
			
		|||
    } else {
 | 
			
		||||
        volume = gSoundPlayingInfo.volumeSfx;
 | 
			
		||||
    }
 | 
			
		||||
    iVar2 = gSoundPlayingInfo.volumeMaster;
 | 
			
		||||
    volume = iVar2 * volume / 0x100;
 | 
			
		||||
    volume = gSoundPlayingInfo.volumeMaster * volume / 0x100;
 | 
			
		||||
    musicPlayerInfo = gMusicPlayers[gSongTable[sound].musicPlayerIndex].info;
 | 
			
		||||
    m4aMPlayImmInit(musicPlayerInfo);
 | 
			
		||||
    m4aMPlayVolumeControl(musicPlayerInfo, 0xffff, volume);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,7 +67,7 @@ void sub_0805212C(void) {
 | 
			
		|||
#else
 | 
			
		||||
                sub_08052418(0, 0);
 | 
			
		||||
                gScreen.lcd.displayControl |= 0x600;
 | 
			
		||||
                gFadeControl.field_0x4 = 0xffff;
 | 
			
		||||
                gFadeControl.mask = 0x0000ffff;
 | 
			
		||||
                DoFade(4, 0x10);
 | 
			
		||||
#endif
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -97,7 +97,7 @@ void sub_080521A0(void) {
 | 
			
		|||
            gMenu.field_0x3 = 0;
 | 
			
		||||
            sub_080A7114(1);
 | 
			
		||||
            sub_08052418(0, 0);
 | 
			
		||||
            gFadeControl.field_0x4 = 0xffffffff;
 | 
			
		||||
            gFadeControl.mask = 0xffffffff;
 | 
			
		||||
            break;
 | 
			
		||||
        case 1:
 | 
			
		||||
            if (gMenu.transitionTimer == 0) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -285,7 +285,7 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) {
 | 
			
		|||
                    gIntroState.subState++;
 | 
			
		||||
                    gScreen.bg.bg1yOffset = 0;
 | 
			
		||||
                    gScreen.bg.bg1Control = 0xc09;
 | 
			
		||||
                    gFadeControl.field_0x4 = 0x40;
 | 
			
		||||
                    gFadeControl.mask = 0x00000040;
 | 
			
		||||
                    DoFade(6, 0x10);
 | 
			
		||||
                    SoundReq(SFX_F8);
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -293,7 +293,7 @@ static void HandleJapaneseTitlescreenAnimationIntro(void) {
 | 
			
		|||
            break;
 | 
			
		||||
        case 1:
 | 
			
		||||
            if (!gFadeControl.active) {
 | 
			
		||||
                gFadeControl.field_0x4 = -1;
 | 
			
		||||
                gFadeControl.mask = 0xFFFFFFFF;
 | 
			
		||||
                gIntroState.subState++;
 | 
			
		||||
#if defined(JP) || defined(EU)
 | 
			
		||||
                gIntroState.timer = 120;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,7 +81,7 @@ void AgbMain(void) {
 | 
			
		|||
                gMain.ticks++;
 | 
			
		||||
                sScreenHandlers[gMain.screen]();
 | 
			
		||||
                MessageUpdate();
 | 
			
		||||
                sub_08050154();
 | 
			
		||||
                UpdateFade();
 | 
			
		||||
                SoundLoop();
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,7 @@
 | 
			
		|||
#include "textbox.h"
 | 
			
		||||
#include "script.h"
 | 
			
		||||
#include "utils.h"
 | 
			
		||||
#include "tiles.h"
 | 
			
		||||
 | 
			
		||||
void sub_08058ECC(ManagerF*);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -335,7 +336,7 @@ void sub_0805930C(ManagerF* this) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void SetDirtTile(u32 tile) {
 | 
			
		||||
    SetTileType(0x1d, tile, 1);
 | 
			
		||||
    SetTileType(CUT_GRASS, tile, 1);
 | 
			
		||||
    SetTileType(0, tile, 2);
 | 
			
		||||
    SetTileType(0, tile - 0x40, 2);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -75,7 +75,7 @@ void ScriptCommand_WaitForPlayerAction0x17(Entity* entity, ScriptExecutionContex
 | 
			
		|||
void ScriptCommand_WaitFor_1(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
void ScriptCommand_WaitFor_2(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
void ScriptCommand_0807E778(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
void ScriptCommand_0807E788(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
void ScriptCommand_SetFadeMask(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
void ScriptCommand_0807E79C(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
void ScriptCommandNop2(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
void ScriptCommand_DoFade4(Entity* entity, ScriptExecutionContext* context);
 | 
			
		||||
| 
						 | 
				
			
			@ -220,7 +220,7 @@ const ScriptCommand gScriptCommands[] = { ScriptCommandNop,
 | 
			
		|||
                                          ScriptCommand_WaitFor_1,
 | 
			
		||||
                                          ScriptCommand_WaitFor_2,
 | 
			
		||||
                                          ScriptCommand_0807E778,
 | 
			
		||||
                                          ScriptCommand_0807E788,
 | 
			
		||||
                                          ScriptCommand_SetFadeMask,
 | 
			
		||||
                                          ScriptCommand_0807E79C,
 | 
			
		||||
                                          ScriptCommandNop2,
 | 
			
		||||
                                          ScriptCommand_DoFade4,
 | 
			
		||||
| 
						 | 
				
			
			@ -1005,8 +1005,8 @@ void ScriptCommand_0807E778(Entity* entity, ScriptExecutionContext* context) {
 | 
			
		|||
    gActiveScriptInfo.unk_08 = context->scriptInstructionPointer[1];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ScriptCommand_0807E788(Entity* entity, ScriptExecutionContext* context) {
 | 
			
		||||
    gFadeControl.field_0x4 = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer);
 | 
			
		||||
void ScriptCommand_SetFadeMask(Entity* entity, ScriptExecutionContext* context) {
 | 
			
		||||
    gFadeControl.mask = GetNextScriptCommandWordAfterCommandMetadata(context->scriptInstructionPointer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ScriptCommand_0807E79C(Entity* entity, ScriptExecutionContext* context) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,5 +6,5 @@ extern u32 gUnk_020354C0;
 | 
			
		|||
 | 
			
		||||
void sub_08050008() {
 | 
			
		||||
    MemClear(&gUnk_020354C0, 128);
 | 
			
		||||
    gFadeControl.field_0x4 = -1;
 | 
			
		||||
    gFadeControl.mask = 0xFFFFFFFF;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ Entity* sub_0805E374(Entity* param_1) {
 | 
			
		|||
    u8 r3 = gScreenTransition.field_0x24[8];
 | 
			
		||||
    u8* array = gUnk_081091F8;
 | 
			
		||||
 | 
			
		||||
    if (r3 != '\x02') {
 | 
			
		||||
    if (r3 != 2) {
 | 
			
		||||
        array = gUnk_081091EE;
 | 
			
		||||
    }
 | 
			
		||||
    return sub_0805E3A0(param_1, array[param_1->kind]);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,46 +9,46 @@ void sub_0807B7D8(u32 param_1, u32 param_2, u32 param_3) {
 | 
			
		|||
        sub_08000152(53);
 | 
			
		||||
        sub_0807B778(param_2, param_3);
 | 
			
		||||
        sub_0807B778(param_2 + 1, param_3);
 | 
			
		||||
        sub_0807B778(param_2 + -1, param_3);
 | 
			
		||||
        sub_0807B778(param_2 - 1, param_3);
 | 
			
		||||
        sub_0807B778(param_2 + 64, param_3);
 | 
			
		||||
        sub_0807B778(param_2 + -64, param_3);
 | 
			
		||||
        sub_0807B778(param_2 - 64, param_3);
 | 
			
		||||
    } else {
 | 
			
		||||
        SetTileType(param_1, param_2, param_3);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void sub_0807B820(u32 param_1) {
 | 
			
		||||
    SetTileType(620, param_1 + -65, 1);
 | 
			
		||||
    SetTileType(627, param_1 + -65, 2);
 | 
			
		||||
    SetTileType(621, param_1 + -64, 1);
 | 
			
		||||
    SetTileType(628, param_1 + -64, 2);
 | 
			
		||||
    SetTileType(622, param_1 + -63, 1);
 | 
			
		||||
    SetTileType(629, param_1 + -63, 2);
 | 
			
		||||
    SetTileType(623, param_1 + -1, 1);
 | 
			
		||||
    SetTileType(620, param_1 - 65, 1);
 | 
			
		||||
    SetTileType(627, param_1 - 65, 2);
 | 
			
		||||
    SetTileType(621, param_1 - 64, 1);
 | 
			
		||||
    SetTileType(628, param_1 - 64, 2);
 | 
			
		||||
    SetTileType(622, param_1 - 63, 1);
 | 
			
		||||
    SetTileType(629, param_1 - 63, 2);
 | 
			
		||||
    SetTileType(623, param_1 - 1, 1);
 | 
			
		||||
    SetTileType(624, param_1, 1);
 | 
			
		||||
    SetTileType(626, param_1 + 1, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void sub_0807B8A8(u32 param_1) {
 | 
			
		||||
    SetTileType(636, param_1 + -65, 1);
 | 
			
		||||
    SetTileType(643, param_1 + -65, 2);
 | 
			
		||||
    SetTileType(637, param_1 + -64, 1);
 | 
			
		||||
    SetTileType(644, param_1 + -64, 2);
 | 
			
		||||
    SetTileType(638, param_1 + -63, 1);
 | 
			
		||||
    SetTileType(645, param_1 + -63, 2);
 | 
			
		||||
    SetTileType(639, param_1 + -1, 1);
 | 
			
		||||
    SetTileType(636, param_1 - 65, 1);
 | 
			
		||||
    SetTileType(643, param_1 - 65, 2);
 | 
			
		||||
    SetTileType(637, param_1 - 64, 1);
 | 
			
		||||
    SetTileType(644, param_1 - 64, 2);
 | 
			
		||||
    SetTileType(638, param_1 - 63, 1);
 | 
			
		||||
    SetTileType(645, param_1 - 63, 2);
 | 
			
		||||
    SetTileType(639, param_1 - 1, 1);
 | 
			
		||||
    SetTileType(640, param_1, 1);
 | 
			
		||||
    SetTileType(642, param_1 + 1, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void sub_0807B930(int param_1) {
 | 
			
		||||
    SetTileType(652, param_1 + -65, 1);
 | 
			
		||||
    SetTileType(659, param_1 + -65, 2);
 | 
			
		||||
    SetTileType(653, param_1 + -64, 1);
 | 
			
		||||
    SetTileType(660, param_1 + -64, 2);
 | 
			
		||||
    SetTileType(654, param_1 + -63, 1);
 | 
			
		||||
    SetTileType(661, param_1 + -63, 2);
 | 
			
		||||
    SetTileType(655, param_1 + -1, 1);
 | 
			
		||||
    SetTileType(652, param_1 - 65, 1);
 | 
			
		||||
    SetTileType(659, param_1 - 65, 2);
 | 
			
		||||
    SetTileType(653, param_1 - 64, 1);
 | 
			
		||||
    SetTileType(660, param_1 - 64, 2);
 | 
			
		||||
    SetTileType(654, param_1 - 63, 1);
 | 
			
		||||
    SetTileType(661, param_1 - 63, 2);
 | 
			
		||||
    SetTileType(655, param_1 - 1, 1);
 | 
			
		||||
    SetTileType(656, param_1, 1);
 | 
			
		||||
    SetTileType(658, param_1 + 1, 1);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,7 @@ u32 sub_080A554C(u32 arg0) {
 | 
			
		|||
 | 
			
		||||
    if (arg0 != 0) {
 | 
			
		||||
        for (i = 0; i < 17; i++) {
 | 
			
		||||
            if (arg0 == (&gUnk_02000090)[i])
 | 
			
		||||
            if (arg0 == gMenu.focusCoords[i])
 | 
			
		||||
                return i;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,8 +3,5 @@
 | 
			
		|||
extern u8 gUnk_08127D30[69];
 | 
			
		||||
 | 
			
		||||
u32 sub_08052654(u32 r0) {
 | 
			
		||||
    // u32 r1 = gUnk_08127D30;
 | 
			
		||||
    // u32 r1 = gUnk_08127D30;
 | 
			
		||||
 | 
			
		||||
    return gUnk_08127D30[r0 * 4] == 129;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue