projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changed function interface
[rocksndiamonds.git]
/
src
/
game_em
/
graphics.c
diff --git
a/src/game_em/graphics.c
b/src/game_em/graphics.c
index aab9ade2a36c6157c49fa4abd0c73c3ecccf5468..ac219b86feca0669c0d5dffbcf0b836b574c655f 100644
(file)
--- a/
src/game_em/graphics.c
+++ b/
src/game_em/graphics.c
@@
-25,11
+25,11
@@
#define VALID_SCREEN_Y(y) ((y) < MIN_SCREEN_Y ? MIN_SCREEN_Y : \
(y) > MAX_SCREEN_Y ? MAX_SCREEN_Y : (y))
#define VALID_SCREEN_Y(y) ((y) < MIN_SCREEN_Y ? MIN_SCREEN_Y : \
(y) > MAX_SCREEN_Y ? MAX_SCREEN_Y : (y))
-#define PLAYER_SCREEN_X(p) (((
frame) * ply[p].oldx + \
- (
8 -
frame) * ply[p].x) * TILEX / 8 \
+#define PLAYER_SCREEN_X(p) (((
7 -
frame) * ply[p].oldx + \
+ (
1 +
frame) * ply[p].x) * TILEX / 8 \
- ((SCR_FIELDX - 1) * TILEX) / 2)
- ((SCR_FIELDX - 1) * TILEX) / 2)
-#define PLAYER_SCREEN_Y(p) (((
frame) * ply[p].oldy + \
- (
8 -
frame) * ply[p].y) * TILEY / 8 \
+#define PLAYER_SCREEN_Y(p) (((
7 -
frame) * ply[p].oldy + \
+ (
1 +
frame) * ply[p].y) * TILEY / 8 \
- ((SCR_FIELDY - 1) * TILEY) / 2)
#define USE_EXTENDED_GRAPHICS_ENGINE 1
- ((SCR_FIELDY - 1) * TILEY) / 2)
#define USE_EXTENDED_GRAPHICS_ENGINE 1
@@
-39,7
+39,7
@@
int frame; /* current screen frame */
int screen_x, screen_y; /* current scroll position */
/* tiles currently on screen */
int screen_x, screen_y; /* current scroll position */
/* tiles currently on screen */
-static int screentiles[MAX_PLAYFIELD_WIDTH + 2][MAX_PLAYFIELD_HEIGHT + 2];
+static int screen
_
tiles[MAX_PLAYFIELD_WIDTH + 2][MAX_PLAYFIELD_HEIGHT + 2];
static int crumbled_state[MAX_PLAYFIELD_WIDTH + 2][MAX_PLAYFIELD_HEIGHT + 2];
/* graphic info for game objects/frames and players/actions/frames */
static int crumbled_state[MAX_PLAYFIELD_WIDTH + 2][MAX_PLAYFIELD_HEIGHT + 2];
/* graphic info for game objects/frames and players/actions/frames */
@@
-122,7
+122,7
@@
static struct GraphicInfo_EM *getObjectGraphic(int x, int y)
struct GraphicInfo_EM *g = &graphic_info_em_object[tile][frame];
if (!game.use_native_emc_graphics_engine)
struct GraphicInfo_EM *g = &graphic_info_em_object[tile][frame];
if (!game.use_native_emc_graphics_engine)
- getGraphicSourceObjectExt_EM(g, tile,
7 -
frame, x - lev.left, y - lev.top);
+ getGraphicSourceObjectExt_EM(g, tile, frame, x - lev.left, y - lev.top);
return g;
}
return g;
}
@@
-132,7
+132,7
@@
static struct GraphicInfo_EM *getPlayerGraphic(int player_nr, int anim)
struct GraphicInfo_EM *g = &graphic_info_em_player[player_nr][anim][frame];
if (!game.use_native_emc_graphics_engine)
struct GraphicInfo_EM *g = &graphic_info_em_player[player_nr][anim][frame];
if (!game.use_native_emc_graphics_engine)
- getGraphicSourcePlayerExt_EM(g, player_nr, anim,
7 -
frame);
+ getGraphicSourcePlayerExt_EM(g, player_nr, anim, frame);
return g;
}
return g;
}
@@
-312,7
+312,7
@@
static void animscreen(void)
for (y = lev.top; y < lev.bottom; y++)
for (x = lev.left; x < lev.right; x++)
SetGfxAnimation_EM(&graphic_info_em_object[lev.draw[x][y]][frame],
for (y = lev.top; y < lev.bottom; y++)
for (x = lev.left; x < lev.right; x++)
SetGfxAnimation_EM(&graphic_info_em_object[lev.draw[x][y]][frame],
- lev.draw[x][y],
7 -
frame,
+ lev.draw[x][y], frame,
x - lev.left, y - lev.top);
for (y = top; y < top + MAX_BUF_YSIZE; y++)
x - lev.left, y - lev.top);
for (y = top; y < top + MAX_BUF_YSIZE; y++)
@@
-347,7
+347,7
@@
static void animscreen(void)
}
}
}
}
- redraw_screen_tile = (screen
tiles[sx][sy]
!= obj ||
+ redraw_screen_tile = (screen
_tiles[sx][sy]
!= obj ||
crumbled_state[sx][sy] != crm);
/* only redraw screen tiles if they (or their crumbled state) changed */
crumbled_state[sx][sy] != crm);
/* only redraw screen tiles if they (or their crumbled state) changed */
@@
-356,7
+356,7
@@
static void animscreen(void)
DrawLevelField_EM(x, y, sx, sy, FALSE);
DrawLevelFieldCrumbled_EM(x, y, sx, sy, crm, FALSE);
DrawLevelField_EM(x, y, sx, sy, FALSE);
DrawLevelFieldCrumbled_EM(x, y, sx, sy, crm, FALSE);
- screentiles[sx][sy] = obj;
+ screen
_
tiles[sx][sy] = obj;
crumbled_state[sx][sy] = crm;
}
}
crumbled_state[sx][sy] = crm;
}
}
@@
-369,16
+369,16
@@
static void animscreen(void)
* handles transparency and movement
*/
* handles transparency and movement
*/
-static void blitplayer(
struct PLAYER *ply
)
+static void blitplayer(
int nr
)
{
int x1, y1, x2, y2;
{
int x1, y1, x2, y2;
- if (!ply
->
alive)
+ if (!ply
[nr].
alive)
return;
/* x1/y1 are left/top and x2/y2 are right/down part of the player movement */
return;
/* x1/y1 are left/top and x2/y2 are right/down part of the player movement */
- x1 = (
frame * ply->oldx + (8 - frame) * ply->
x) * TILEX / 8;
- y1 = (
frame * ply->oldy + (8 - frame) * ply->
y) * TILEY / 8;
+ x1 = (
(7 - frame) * ply[nr].oldx + (1 + frame) * ply[nr].
x) * TILEX / 8;
+ y1 = (
(7 - frame) * ply[nr].oldy + (1 + frame) * ply[nr].
y) * TILEY / 8;
x2 = x1 + TILEX - 1;
y2 = y1 + TILEY - 1;
x2 = x1 + TILEX - 1;
y2 = y1 + TILEY - 1;
@@
-386,10
+386,10
@@
static void blitplayer(struct PLAYER *ply)
(int)(y2 - screen_y) < ((MAX_BUF_YSIZE - 1) * TILEY - 1))
{
/* some casts to "int" are needed because of negative calculation values */
(int)(y2 - screen_y) < ((MAX_BUF_YSIZE - 1) * TILEY - 1))
{
/* some casts to "int" are needed because of negative calculation values */
- int dx = (int)ply
->x - (int)ply->
oldx;
- int dy = (int)ply
->y - (int)ply->
oldy;
- int old_x = (int)ply
->oldx + (7 - (int)frame)
* dx / 8;
- int old_y = (int)ply
->oldy + (7 - (int)frame)
* dy / 8;
+ int dx = (int)ply
[nr].x - (int)ply[nr].
oldx;
+ int dy = (int)ply
[nr].y - (int)ply[nr].
oldy;
+ int old_x = (int)ply
[nr].oldx + (int)frame
* dx / 8;
+ int old_y = (int)ply
[nr].oldy + (int)frame
* dy / 8;
int new_x = old_x + SIGN(dx);
int new_y = old_y + SIGN(dy);
int old_sx = old_x % MAX_BUF_XSIZE;
int new_x = old_x + SIGN(dx);
int new_y = old_y + SIGN(dy);
int old_sx = old_x % MAX_BUF_XSIZE;
@@
-408,7
+408,7
@@
static void blitplayer(struct PLAYER *ply)
DrawLevelFieldCrumbled_EM(new_x, new_y, new_sx, new_sy, new_crm, FALSE);
/* draw the player (masked) over the element he is just digging away */
DrawLevelFieldCrumbled_EM(new_x, new_y, new_sx, new_sy, new_crm, FALSE);
/* draw the player (masked) over the element he is just digging away */
- DrawLevelPlayer_EM(x1, y1, ply
->num, ply->
anim, TRUE);
+ DrawLevelPlayer_EM(x1, y1, ply
[nr].num, ply[nr].
anim, TRUE);
/* draw the field the player is moving from (masked over the player) */
DrawLevelField_EM(old_x, old_y, old_sx, old_sy, TRUE);
/* draw the field the player is moving from (masked over the player) */
DrawLevelField_EM(old_x, old_y, old_sx, old_sy, TRUE);
@@
-416,7
+416,7
@@
static void blitplayer(struct PLAYER *ply)
else
{
/* draw the player under the element which is on the same field */
else
{
/* draw the player under the element which is on the same field */
- DrawLevelPlayer_EM(x1, y1, ply
->num, ply->
anim, FALSE);
+ DrawLevelPlayer_EM(x1, y1, ply
[nr].num, ply[nr].
anim, FALSE);
/* draw the field the player is moving from (masked over the player) */
DrawLevelField_EM(old_x, old_y, old_sx, old_sy, TRUE);
/* draw the field the player is moving from (masked over the player) */
DrawLevelField_EM(old_x, old_y, old_sx, old_sy, TRUE);
@@
-426,8
+426,8
@@
static void blitplayer(struct PLAYER *ply)
}
/* redraw screen tiles in the next frame (player may have left the tiles) */
}
/* redraw screen tiles in the next frame (player may have left the tiles) */
- screentiles[old_sx][old_sy] = -1;
- screentiles[new_sx][new_sy] = -1;
+ screen
_
tiles[old_sx][old_sy] = -1;
+ screen
_
tiles[new_sx][new_sy] = -1;
}
}
}
}
@@
-436,7
+436,7
@@
void game_initscreen(void)
int player_nr;
int x,y;
int player_nr;
int x,y;
- frame =
6
;
+ frame =
1
;
player_nr = (game.centered_player_nr != -1 ? game.centered_player_nr : 0);
player_nr = (game.centered_player_nr != -1 ? game.centered_player_nr : 0);
@@
-447,7
+447,7
@@
void game_initscreen(void)
{
for (x = 0; x < MAX_BUF_XSIZE; x++)
{
{
for (x = 0; x < MAX_BUF_XSIZE; x++)
{
- screentiles[x][y] = -1;
+ screen
_
tiles[x][y] = -1;
crumbled_state[x][y] = 0;
}
}
crumbled_state[x][y] = 0;
}
}
@@
-677,7
+677,7
@@
void RedrawPlayfield_EM(boolean force_redraw)
animscreen();
for (i = 0; i < MAX_PLAYERS; i++)
animscreen();
for (i = 0; i < MAX_PLAYERS; i++)
- blitplayer(
&ply[i]
);
+ blitplayer(
i
);
BlitScreenToBitmap_EM(backbuffer);
BackToFront_EM();
BlitScreenToBitmap_EM(backbuffer);
BackToFront_EM();
@@
-689,7
+689,7
@@
void RedrawPlayfield_EM(boolean force_redraw)
animscreen();
for (i = 0; i < MAX_PLAYERS; i++)
animscreen();
for (i = 0; i < MAX_PLAYERS; i++)
- blitplayer(
&ply[i]
);
+ blitplayer(
i
);
BlitScreenToBitmap_EM(backbuffer);
BackToFront_EM();
BlitScreenToBitmap_EM(backbuffer);
BackToFront_EM();
@@
-707,7
+707,7
@@
void RedrawPlayfield_EM(boolean force_redraw)
{
for (x = 0; x < MAX_BUF_XSIZE; x++)
{
{
for (x = 0; x < MAX_BUF_XSIZE; x++)
{
- screentiles[x][y] = -1;
+ screen
_
tiles[x][y] = -1;
crumbled_state[x][y] = 0;
}
}
crumbled_state[x][y] = 0;
}
}
@@
-783,5
+783,5
@@
void RedrawPlayfield_EM(boolean force_redraw)
animscreen();
for (i = 0; i < MAX_PLAYERS; i++)
animscreen();
for (i = 0; i < MAX_PLAYERS; i++)
- blitplayer(
&ply[i]
);
+ blitplayer(
i
);
}
}