64 files changed
+1439
-1257
No files matched your search
File renamed without changes.
File renamed without changes.
Binary file not shown.
|
After Width: | Height: | Size: 546 B |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 32
|
||||
0 0 74
|
||||
0 0 115
|
||||
24 24 123
|
||||
49 49 139
|
||||
82 82 156
|
||||
106 106 172
|
||||
139 139 189
|
||||
164 164 205
|
||||
197 197 222
|
||||
222 222 238
|
||||
255 255 255
|
||||
0 0 0
|
||||
0 0 0
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.
|
Before Width: | Height: | Size: 554 B |
@@ -1,19 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
24 41 74
|
||||
0 0 0
|
||||
139 123 16
|
||||
189 172 16
|
||||
131 164 65
|
||||
148 230 49
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
222 222 222
|
||||
24 41 74
|
||||
82 82 82
|
||||
180 180 180
|
||||
255 255 255
|
||||
@@ -1,19 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
255 255 255
|
||||
115 197 106
|
||||
41 164 8
|
||||
82 180 65
|
||||
139 222 131
|
||||
98 197 82
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
16 139 98
|
||||
16 115 98
|
||||
24 90 90
|
||||
32 74 90
|
||||
32 65 82
|
||||
@@ -1,19 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
0 0 255
|
||||
255 255 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
238 246 246
|
||||
222 230 230
|
||||
180 189 197
|
||||
148 156 172
|
||||
106 123 139
|
||||
74 90 115
|
||||
41 57 90
|
||||
0 0 0
|
||||
@@ -1,19 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
0 0 0
|
||||
131 238 115
|
||||
82 189 74
|
||||
57 164 57
|
||||
115 213 98
|
||||
16 123 16
|
||||
164 255 131
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 0 255
|
||||
255 148 0
|
||||
164 222 98
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 KiB |
@@ -1,19 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
0 0 0
|
||||
164 238 139
|
||||
57 148 57
|
||||
131 213 115
|
||||
156 230 156
|
||||
131 205 148
|
||||
106 180 131
|
||||
65 139 98
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
255 0 0
|
||||
@@ -1,19 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
0 0 0
|
||||
238 246 189
|
||||
0 0 0
|
||||
0 0 0
|
||||
115 213 255
|
||||
156 222 255
|
||||
205 238 255
|
||||
255 255 255
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
@@ -1,19 +0,0 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
197 222 205
|
||||
255 255 255
|
||||
222 222 222
|
||||
123 123 123
|
||||
156 222 255
|
||||
189 230 255
|
||||
222 238 255
|
||||
255 255 255
|
||||
255 180 123
|
||||
238 98 74
|
||||
205 57 32
|
||||
197 131 180
|
||||
164 98 148
|
||||
131 65 123
|
||||
90 57 90
|
||||
16 16 16
|
||||
+10
-4
@@ -537,14 +537,20 @@ graphics/misc/emoticons.4bpp: %.4bpp: %.png
|
||||
$(ITEMMENUGFXDIR)/bag_tiles.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 55
|
||||
|
||||
$(INTROGFXDIR)/unk_8402D54.4bpp: %.4bpp: %.png
|
||||
$(INTROGFXDIR)/scene_1/grass.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 397
|
||||
|
||||
$(INTROGFXDIR)/unk_8406654.4bpp: %.4bpp: %.png
|
||||
$(INTROGFXDIR)/scene_2/plants.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 17
|
||||
|
||||
$(INTROGFXDIR)/scene_2/nidorino_close.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 170
|
||||
|
||||
$(INTROGFXDIR)/unk_8405B28.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 17
|
||||
$(INTROGFXDIR)/scene_2/gengar_close.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 114
|
||||
|
||||
$(INTROGFXDIR)/scene_3/gengar_anim.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 348
|
||||
|
||||
$(BATTLETERRAINGFXDIR)/building/terrain.4bpp: %.4bpp: %.png
|
||||
$(GFX) $< $@ -num_tiles 77
|
||||
|
||||
@@ -552,6 +552,7 @@
|
||||
#define WININ_WIN0_BG_ALL (WININ_WIN0_BG0 | WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3)
|
||||
#define WININ_WIN0_OBJ (1 << 4)
|
||||
#define WININ_WIN0_CLR (1 << 5)
|
||||
#define WININ_WIN0_ALL (WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR)
|
||||
#define WININ_WIN1_BG0 (1 << 8)
|
||||
#define WININ_WIN1_BG1 (1 << 9)
|
||||
#define WININ_WIN1_BG2 (1 << 10)
|
||||
@@ -559,6 +560,7 @@
|
||||
#define WININ_WIN1_BG_ALL (WININ_WIN1_BG0 | WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_BG3)
|
||||
#define WININ_WIN1_OBJ (1 << 12)
|
||||
#define WININ_WIN1_CLR (1 << 13)
|
||||
#define WININ_WIN1_ALL (WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR)
|
||||
|
||||
#define WINOUT_WIN01_BG0 (1 << 0)
|
||||
#define WINOUT_WIN01_BG1 (1 << 1)
|
||||
@@ -567,6 +569,7 @@
|
||||
#define WINOUT_WIN01_BG_ALL (WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3)
|
||||
#define WINOUT_WIN01_OBJ (1 << 4)
|
||||
#define WINOUT_WIN01_CLR (1 << 5)
|
||||
#define WINOUT_WIN01_ALL (WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR)
|
||||
#define WINOUT_WINOBJ_BG0 (1 << 8)
|
||||
#define WINOUT_WINOBJ_BG1 (1 << 9)
|
||||
#define WINOUT_WINOBJ_BG2 (1 << 10)
|
||||
@@ -574,6 +577,7 @@
|
||||
#define WINOUT_WINOBJ_BG_ALL (WINOUT_WINOBJ_BG0 | WINOUT_WINOBJ_BG1 | WINOUT_WINOBJ_BG2 | WINOUT_WINOBJ_BG3)
|
||||
#define WINOUT_WINOBJ_OBJ (1 << 12)
|
||||
#define WINOUT_WINOBJ_CLR (1 << 13)
|
||||
#define WINOUT_WINOBJ_ALL (WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR)
|
||||
|
||||
#define WIN_RANGE(a, b) (((a) << 8) | (b))
|
||||
#define WIN_RANGE2(a, b) ((b) | ((a) << 8))
|
||||
@@ -584,8 +588,10 @@
|
||||
#define BLDCNT_TGT1_BG1 (1 << 1)
|
||||
#define BLDCNT_TGT1_BG2 (1 << 2)
|
||||
#define BLDCNT_TGT1_BG3 (1 << 3)
|
||||
#define BLDCNT_TGT1_BG_ALL (BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3)
|
||||
#define BLDCNT_TGT1_OBJ (1 << 4)
|
||||
#define BLDCNT_TGT1_BD (1 << 5)
|
||||
#define BLDCNT_TGT1_ALL (BLDCNT_TGT1_BG_ALL | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD)
|
||||
// Bits 6-7 select the special effect
|
||||
#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect
|
||||
#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA)
|
||||
@@ -596,9 +602,10 @@
|
||||
#define BLDCNT_TGT2_BG1 (1 << 9)
|
||||
#define BLDCNT_TGT2_BG2 (1 << 10)
|
||||
#define BLDCNT_TGT2_BG3 (1 << 11)
|
||||
#define BLDCNT_TGT2_BG_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3)
|
||||
#define BLDCNT_TGT2_OBJ (1 << 12)
|
||||
#define BLDCNT_TGT2_BD (1 << 13)
|
||||
#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD)
|
||||
#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG_ALL | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD)
|
||||
|
||||
// BLDALPHA
|
||||
#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1))
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_INTRO_H
|
||||
#define GUARD_INTRO_H
|
||||
|
||||
void CB2_CopyrightScreen(void);
|
||||
void c2_copyright_1(void);
|
||||
void CB2_InitCopyrightScreenAfterTitleScreen(void);
|
||||
void CB2_InitCopyrightScreenAfterBootup(void);
|
||||
|
||||
#endif //GUARD_INTRO_H
|
||||
+3
-2
@@ -15,8 +15,9 @@ u16 Random2(void);
|
||||
|
||||
// The number 1103515245 comes from the example implementation of rand and srand
|
||||
// in the ISO C standard.
|
||||
#define ISO_RANDOMIZE1(val)(1103515245 * (val) + 24691)
|
||||
#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345)
|
||||
#define RAND_MULT 1103515245
|
||||
#define ISO_RANDOMIZE1(val)(RAND_MULT * (val) + 24691)
|
||||
#define ISO_RANDOMIZE2(val)(RAND_MULT * (val) + 12345)
|
||||
|
||||
//Sets the initial seed value of the pseudorandom number generator
|
||||
void SeedRng(u16 seed);
|
||||
|
||||
+5
-2
@@ -7,6 +7,9 @@
|
||||
#define SPRITE_NONE 0xFF
|
||||
#define TAG_NONE 0xFFFF
|
||||
|
||||
// Given to SetSpriteMatrixAnchor to skip anchoring one of the coords.
|
||||
#define NO_ANCHOR 0x800
|
||||
|
||||
struct SpriteSheet
|
||||
{
|
||||
const void *data; // Raw uncompressed pixel data
|
||||
@@ -228,7 +231,7 @@ struct Sprite
|
||||
u16 animEnded:1; //0x10
|
||||
u16 affineAnimEnded:1; //0x20
|
||||
u16 usingSheet:1; //0x40
|
||||
u16 flags_f:1; //0x80
|
||||
u16 anchored:1; //0x80
|
||||
|
||||
/*0x40*/ u16 sheetTileStart;
|
||||
|
||||
@@ -316,6 +319,6 @@ void ClearSpriteCopyRequests(void);
|
||||
void ResetAffineAnimData(void);
|
||||
void FreeSpriteTilesIfNotUsingSheet(struct Sprite *sprite);
|
||||
s16 AllocSpriteTiles(u16 tileCount);
|
||||
void obj_pos2_update_enable(struct Sprite* sprite, s16 xmod, s16 ymod);
|
||||
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 xmod, s16 ymod);
|
||||
|
||||
#endif //GUARD_SPRITE_H
|
||||
@@ -600,14 +600,14 @@ u32 ChangeBgX(u8 bg, u32 value, u8 op)
|
||||
|
||||
switch (op)
|
||||
{
|
||||
case 0:
|
||||
case BG_COORD_SET:
|
||||
default:
|
||||
sGpuBgConfigs2[bg].bg_x = value;
|
||||
break;
|
||||
case 1:
|
||||
case BG_COORD_ADD:
|
||||
sGpuBgConfigs2[bg].bg_x += value;
|
||||
break;
|
||||
case 2:
|
||||
case BG_COORD_SUB:
|
||||
sGpuBgConfigs2[bg].bg_x -= value;
|
||||
break;
|
||||
}
|
||||
@@ -679,14 +679,14 @@ u32 ChangeBgY(u8 bg, u32 value, u8 op)
|
||||
|
||||
switch (op)
|
||||
{
|
||||
case 0:
|
||||
case BG_COORD_SET:
|
||||
default:
|
||||
sGpuBgConfigs2[bg].bg_y = value;
|
||||
break;
|
||||
case 1:
|
||||
case BG_COORD_ADD:
|
||||
sGpuBgConfigs2[bg].bg_y += value;
|
||||
break;
|
||||
case 2:
|
||||
case BG_COORD_SUB:
|
||||
sGpuBgConfigs2[bg].bg_y -= value;
|
||||
break;
|
||||
}
|
||||
|
||||
+1355
-1049
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -206,7 +206,7 @@ static void InitMainCallbacks(void)
|
||||
gMain.vblankCounter1 = 0;
|
||||
gMain.vblankCounter2 = 0;
|
||||
gMain.callback1 = NULL;
|
||||
SetMainCallback2(c2_copyright_1);
|
||||
SetMainCallback2(CB2_InitCopyrightScreenAfterBootup);
|
||||
gSaveBlock2Ptr = &gSaveBlock2;
|
||||
gSaveBlock1Ptr = &gSaveBlock1;
|
||||
gSaveBlock2.encryptionKey = 0;
|
||||
|
||||
@@ -80,8 +80,7 @@ static bool32 RunMinigameCountdownDigitsAnim(u8 spriteId)
|
||||
switch (sprite->data[0])
|
||||
{
|
||||
case 0:
|
||||
// some sort of affine transform; x transform disabled
|
||||
obj_pos2_update_enable(sprite, 0x800, 0x1A);
|
||||
SetSpriteMatrixAnchor(sprite, NO_ANCHOR, 26);
|
||||
sprite->data[0]++;
|
||||
// fallthrough
|
||||
case 1:
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "pokemon_special_anim_internal.h"
|
||||
#include "random.h"
|
||||
#include "strings.h"
|
||||
#include "text_window.h"
|
||||
#include "trig.h"
|
||||
@@ -1308,7 +1309,7 @@ static void Task_UseItem_OutwardSpiralDots(u8 taskId)
|
||||
static u16 PSAScene_RandomFromTask(u8 taskId)
|
||||
{
|
||||
u32 state = GetWordTaskArg(taskId, tOff_RngState);
|
||||
state = state * 1103515245 + 24691;
|
||||
state = ISO_RANDOMIZE1(state);
|
||||
SetWordTaskArg(taskId, tOff_RngState, state);
|
||||
return state >> 16;
|
||||
}
|
||||
@@ -1446,8 +1447,7 @@ static void CreateLevelUpVerticalSprite(u8 taskId, s16 *data)
|
||||
{
|
||||
gSprites[spriteId].oam.priority = tPriority;
|
||||
gSprites[spriteId].tsYsubpixel = 0;
|
||||
// similar to the LCRNG in random.c, but seeding from data[2]
|
||||
gSprites[spriteId].tsSpeed = ((tMadeSprCt * 1103515245 + 24691) & 0x3F) + 0x20;
|
||||
gSprites[spriteId].tsSpeed = (ISO_RANDOMIZE1(tMadeSprCt) & 0x3F) + 0x20;
|
||||
gSprites[spriteId].tsTaskId = taskId;
|
||||
tActiveSprCt++;
|
||||
}
|
||||
|
||||
+21
-48
@@ -5,6 +5,9 @@
|
||||
|
||||
#define OAM_MATRIX_COUNT 32
|
||||
|
||||
#define sAnchorX data[6]
|
||||
#define sAnchorY data[7]
|
||||
|
||||
#define SET_SPRITE_TILE_RANGE(index, start, count) \
|
||||
{ \
|
||||
sSpriteTileRanges[index * 2] = start; \
|
||||
@@ -83,7 +86,7 @@ static void ApplyAffineAnimFrame(u8 matrixNum, struct AffineAnimFrameCmd *frameC
|
||||
static u8 IndexOfSpriteTileTag(u16 tag);
|
||||
static void AllocSpriteTileRange(u16 tag, u16 start, u16 count);
|
||||
static void DoLoadSpritePalette(const u16 *src, u16 paletteOffset);
|
||||
static void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2);
|
||||
static void UpdateSpriteMatrixAnchorPos(struct Sprite* sprite, s32 a1, s32 a2);
|
||||
|
||||
typedef void (*AnimFunc)(struct Sprite *);
|
||||
typedef void (*AnimCmdFunc)(struct Sprite *);
|
||||
@@ -161,41 +164,11 @@ static const struct Sprite sDummySprite =
|
||||
{
|
||||
.oam = DUMMY_OAM_DATA,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.template = &gDummySpriteTemplate,
|
||||
.subspriteTables = NULL,
|
||||
.callback = SpriteCallbackDummy,
|
||||
.x = 304, .y = 160,
|
||||
.x2 = 0, .y2 = 0,
|
||||
.centerToCornerVecX = 0,
|
||||
.centerToCornerVecY = 0,
|
||||
.animNum = 0,
|
||||
.animCmdIndex = 0,
|
||||
.animDelayCounter = 0,
|
||||
.animPaused = 0,
|
||||
.affineAnimPaused = 0,
|
||||
.animLoopCounter = 0,
|
||||
.data = {0, 0, 0, 0, 0, 0, 0},
|
||||
.inUse = 0,
|
||||
.coordOffsetEnabled = 0,
|
||||
.invisible = 0,
|
||||
.flags_3 = 0,
|
||||
.flags_4 = 0,
|
||||
.flags_5 = 0,
|
||||
.flags_6 = 0,
|
||||
.flags_7 = 0,
|
||||
.hFlip = 0,
|
||||
.vFlip = 0,
|
||||
.animBeginning = 0,
|
||||
.affineAnimBeginning = 0,
|
||||
.animEnded = 0,
|
||||
.affineAnimEnded = 0,
|
||||
.usingSheet = 0,
|
||||
.flags_f = 0,
|
||||
.sheetTileStart = 0,
|
||||
.subspriteTableNum = 0,
|
||||
.subspriteMode = 0,
|
||||
.x = DISPLAY_WIDTH + 64,
|
||||
.y = DISPLAY_HEIGHT,
|
||||
.subpriority = 0xFF
|
||||
};
|
||||
|
||||
@@ -212,7 +185,7 @@ const union AffineAnimCmd * const gDummySpriteAffineAnimTable[] = { &sDummyAffin
|
||||
const struct SpriteTemplate gDummySpriteTemplate =
|
||||
{
|
||||
.tileTag = 0,
|
||||
.paletteTag = 0xFFFF,
|
||||
.paletteTag = TAG_NONE,
|
||||
.oam = &gDummyOamData,
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
@@ -1099,8 +1072,8 @@ void BeginAffineAnim(struct Sprite *sprite)
|
||||
sprite->affineAnimEnded = FALSE;
|
||||
ApplyAffineAnimFrame(matrixNum, &frameCmd);
|
||||
sAffineAnimStates[matrixNum].delayCounter = frameCmd.duration;
|
||||
if (sprite->flags_f)
|
||||
obj_update_pos2(sprite, sprite->data[6], sprite->data[7]);
|
||||
if (sprite->anchored)
|
||||
UpdateSpriteMatrixAnchorPos(sprite, sprite->sAnchorX, sprite->sAnchorY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1125,8 +1098,8 @@ void ContinueAffineAnim(struct Sprite *sprite)
|
||||
funcIndex = type - 32765;
|
||||
sAffineAnimCmdFuncs[funcIndex](matrixNum, sprite);
|
||||
}
|
||||
if (sprite->flags_f)
|
||||
obj_update_pos2(sprite, sprite->data[6], sprite->data[7]);
|
||||
if (sprite->anchored)
|
||||
UpdateSpriteMatrixAnchorPos(sprite, sprite->sAnchorX, sprite->sAnchorY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1220,14 +1193,14 @@ u8 GetSpriteMatrixNum(struct Sprite *sprite)
|
||||
return matrixNum;
|
||||
}
|
||||
|
||||
void obj_pos2_update_enable(struct Sprite* sprite, s16 xmod, s16 ymod)
|
||||
void SetSpriteMatrixAnchor(struct Sprite* sprite, s16 x, s16 y)
|
||||
{
|
||||
sprite->data[6] = xmod;
|
||||
sprite->data[7] = ymod;
|
||||
sprite->flags_f = 1;
|
||||
sprite->sAnchorX = x;
|
||||
sprite->sAnchorY = y;
|
||||
sprite->anchored = TRUE;
|
||||
}
|
||||
|
||||
static s32 affine_get_new_pos2(s32 baseDim, s32 xformed, s32 modifier)
|
||||
static s32 GetAnchorCoord(s32 baseDim, s32 xformed, s32 modifier)
|
||||
{
|
||||
s32 subResult, shiftResult;
|
||||
|
||||
@@ -1239,24 +1212,24 @@ static s32 affine_get_new_pos2(s32 baseDim, s32 xformed, s32 modifier)
|
||||
return modifier - ((u32)(modifier * xformed) / (u32)(baseDim) + shiftResult);
|
||||
}
|
||||
|
||||
static void obj_update_pos2(struct Sprite *sprite, s32 xmod, s32 ymod)
|
||||
static void UpdateSpriteMatrixAnchorPos(struct Sprite *sprite, s32 x, s32 y)
|
||||
{
|
||||
s32 dim, baseDim, xFormed;
|
||||
|
||||
u32 matrixNum = sprite->oam.matrixNum;
|
||||
if (xmod != 0x800)
|
||||
if (x != NO_ANCHOR)
|
||||
{
|
||||
dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][0];
|
||||
baseDim = dim << 8;
|
||||
xFormed = (dim << 16) / gOamMatrices[matrixNum].a;
|
||||
sprite->x2 = affine_get_new_pos2(baseDim, xFormed, xmod);
|
||||
sprite->x2 = GetAnchorCoord(baseDim, xFormed, x);
|
||||
}
|
||||
if (ymod != 0x800)
|
||||
if (y != NO_ANCHOR)
|
||||
{
|
||||
dim = sOamDimensionsCopy[sprite->oam.shape][sprite->oam.size][1];
|
||||
baseDim = dim << 8;
|
||||
xFormed = (dim << 16) / gOamMatrices[matrixNum].d;
|
||||
sprite->y2 = affine_get_new_pos2(baseDim, xFormed, ymod);
|
||||
sprite->y2 = GetAnchorCoord(baseDim, xFormed, y);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -9,6 +9,7 @@
|
||||
#include "intro.h"
|
||||
#include "load_save.h"
|
||||
#include "new_game.h"
|
||||
#include "random.h"
|
||||
#include "save.h"
|
||||
#include "main_menu.h"
|
||||
#include "clear_save_data_screen.h"
|
||||
@@ -662,7 +663,7 @@ static void SetTitleScreenScene_Restart(s16 * data)
|
||||
case 4:
|
||||
HelpSystem_Disable();
|
||||
DestroyTask(FindTaskIdByFunc(Task_TitleScreenMain));
|
||||
SetMainCallback2(CB2_CopyrightScreen);
|
||||
SetMainCallback2(CB2_InitCopyrightScreenAfterTitleScreen);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1121,7 +1122,7 @@ static u16 TitleScreen_rand(u8 taskId, u8 field)
|
||||
u32 rngval;
|
||||
|
||||
rngval = GetWordTaskArg(taskId, field);
|
||||
rngval = rngval * 1103515245 + 24691;
|
||||
rngval = ISO_RANDOMIZE1(rngval);
|
||||
SetWordTaskArg(taskId, field, rngval);
|
||||
return rngval >> 16;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "wild_encounter.h"
|
||||
#include "event_data.h"
|
||||
#include "fieldmap.h"
|
||||
#include "random.h"
|
||||
#include "roamer.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "battle_setup.h"
|
||||
@@ -668,8 +669,7 @@ void SeedWildEncounterRng(u16 seed)
|
||||
|
||||
static u16 WildEncounterRandom(void)
|
||||
{
|
||||
sWildEncounterData.rngState *= 1103515245;
|
||||
sWildEncounterData.rngState += 12345;
|
||||
sWildEncounterData.rngState = ISO_RANDOMIZE2(sWildEncounterData.rngState);
|
||||
return sWildEncounterData.rngState >> 16;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user