⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m_hover.pas

📁 delphi编的不错的贪吃蛇
💻 PAS
📖 第 1 页 / 共 2 页
字号:

{
=======================================

hover

=======================================
}

// m_hover.c and m_hover.h
// converted by Bob Janova <bob@redcorona.com>

{ ISSUES to be resolved:
 MFrame_t lists - array or pointer? (see line 100) - incompat. types
 Should procedures be declared CDECL, SAFECALL or neither?





}

unit m_hover;

interface

uses
  g_local,    // g_local.h
  q_shared;

{$I m_hover.inc} // m_hover.h


var sound_pain1, sound_pain2,
	sound_death1, sound_death2,
	sound_sight,
	sound_search1, sound_search2: Integer;

procedure hover_run (Self: edict_p); cdecl;
procedure hover_stand (Self: edict_p); cdecl;
procedure hover_dead (Self: edict_p); cdecl;
procedure hover_attack (Self: edict_p); cdecl;
procedure hover_reattack (Self: edict_p); cdecl;
procedure hover_fire_blaster (Self: edict_p); cdecl;
procedure hover_die (Self, Inflictor, Attacker: edict_p; Damage: Integer; const Point: Vec3_t); cdecl;

procedure SP_monster_hover (Self: edict_p); cdecl;


implementation

uses g_ai, g_main, g_utils, m_flash, g_monster, g_misc, g_local_add,
  game_add;

const hover_frames_stand: array[0..29] of mframe_t = (
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Stand; Dist: 0; ThinkFunc: nil) );

Hover_move_stand: MMove_t = (
 FirstFrame:FRAME_stand01; LastFrame:FRAME_stand30; Frame:@hover_frames_stand; EndFunc: nil);

hover_frames_stop1: array [0..8] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil));

Hover_move_stop1: MMove_t = (
 FirstFrame:FRAME_stop101; LastFrame:FRAME_stop109; Frame:@hover_frames_stop1; EndFunc:nil);

hover_frames_stop2: array [0..7] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil));

Hover_move_stop2: MMove_t = (
 FirstFrame:FRAME_stop201; LastFrame:FRAME_stop208; Frame:@hover_frames_stop2; EndFunc:nil);

Hover_frames_takeoff: Array[0..29] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 5; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -6; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -9; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 3; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil));

Hover_move_takeoff: MMove_t = (
 FirstFrame:FRAME_takeof01; LastFrame:FRAME_takeof30; Frame:@hover_frames_takeoff; EndFunc:nil);

hover_frames_pain3: array [0..8] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil));

Hover_move_pain3: MMove_t = (
 FirstFrame:FRAME_pain301; LastFrame:FRAME_pain309; Frame:@hover_frames_pain3; endfunc:Hover_Run);

hover_frames_pain2: array [0..11] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil));

Hover_move_pain2: MMove_t = (
 FirstFrame:FRAME_pain201; LastFrame:FRAME_pain212; Frame:@hover_frames_pain2; endfunc:Hover_Run);

hover_frames_pain1: array [0..27] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -8; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -6; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: -3; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 3; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 3; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 7; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 1; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 2; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 5; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 3; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil));

Hover_move_pain1: MMove_t = (
 FirstFrame:FRAME_pain101; LastFrame:FRAME_pain128; Frame:@hover_frames_pain1; endfunc:Hover_Run);

hover_frames_land: Array[0..0] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil));

Hover_move_land: MMove_t = (
 FirstFrame:FRAME_land01; LastFrame:FRAME_land01; Frame:@hover_frames_land; EndFunc:nil);

hover_frames_forward: Array[0..34] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 0; ThinkFunc: nil));

Hover_move_forward: MMove_t = (
 FirstFrame:FRAME_forwrd01; LastFrame:FRAME_forwrd35; Frame:@hover_frames_forward; EndFunc:nil);

hover_frames_walk: Array[0..34] of MFrame_t = (
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil),
 (AIFunc: AI_Move; Dist: 4; ThinkFunc: nil));

Hover_move_walk: MMove_t = (
 FirstFrame:FRAME_forwrd01; LastFrame:FRAME_forwrd35; Frame:@hover_frames_walk; EndFunc:nil);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -