Switch Laser_render to vobjptr_t
This commit is contained in:
parent
d79287e368
commit
cf31cc4a5d
|
@ -206,7 +206,7 @@ void compress_objects();
|
|||
void render_object(vobjptridx_t obj);
|
||||
|
||||
// Draw a blob-type object, like a fireball
|
||||
void draw_object_blob(object &obj, bitmap_index bitmap);
|
||||
void draw_object_blob(vobjptr_t obj, bitmap_index bitmap);
|
||||
|
||||
// draw an object that is a texture-mapped rod
|
||||
void draw_object_tmap_rod(vobjptridx_t obj, bitmap_index bitmap, int lighted);
|
||||
|
|
|
@ -162,7 +162,7 @@ enum laser_level_t
|
|||
#define HOMING_TURN_TIME (DESIGNATED_GAME_FRAMETIME)
|
||||
|
||||
|
||||
void Laser_render(object &obj);
|
||||
void Laser_render(vobjptr_t obj);
|
||||
objptridx_t Laser_player_fire(vobjptridx_t obj, enum weapon_type_t laser_type, int gun_num, int make_sound, vms_vector shot_orientation);
|
||||
void Laser_do_weapon_sequence(vobjptridx_t obj);
|
||||
void Flare_create(vobjptridx_t obj);
|
||||
|
|
|
@ -77,7 +77,7 @@ static objptridx_t find_homing_object(const vms_vector &curpos, const vobjptridx
|
|||
// Called by render code.... determines if the laser is from a robot or the
|
||||
// player and calls the appropriate routine.
|
||||
|
||||
void Laser_render(object &obj)
|
||||
void Laser_render(const vobjptr_t obj)
|
||||
{
|
||||
|
||||
// Commented out by John (sort of, typed by Mike) on 6/8/94
|
||||
|
@ -92,14 +92,15 @@ void Laser_render(object &obj)
|
|||
Error( "Invalid weapon type in Laser_render\n" );
|
||||
}
|
||||
#endif
|
||||
|
||||
switch( Weapon_info[get_weapon_id(&obj)].render_type ) {
|
||||
auto &wi = Weapon_info[get_weapon_id(obj)];
|
||||
switch(wi.render_type)
|
||||
{
|
||||
case WEAPON_RENDER_LASER:
|
||||
Int3(); // Not supported anymore!
|
||||
//Laser_draw_one(obj-Objects, Weapon_info[obj->id].bitmap );
|
||||
break;
|
||||
case WEAPON_RENDER_BLOB:
|
||||
draw_object_blob(obj, Weapon_info[get_weapon_id(&obj)].bitmap );
|
||||
draw_object_blob(obj, wi.bitmap);
|
||||
break;
|
||||
case WEAPON_RENDER_POLYMODEL:
|
||||
break;
|
||||
|
|
|
@ -189,25 +189,25 @@ objptridx_t obj_find_first_of_type(int type)
|
|||
}
|
||||
|
||||
//draw an object that has one bitmap & doesn't rotate
|
||||
void draw_object_blob(object &obj,bitmap_index bmi)
|
||||
void draw_object_blob(const vobjptr_t obj,bitmap_index bmi)
|
||||
{
|
||||
grs_bitmap * bm = &GameBitmaps[bmi.index];
|
||||
vms_vector pos = obj.pos;
|
||||
vms_vector pos = obj->pos;
|
||||
|
||||
PIGGY_PAGE_IN( bmi );
|
||||
|
||||
// draw these with slight offset to viewer preventing too much ugly clipping
|
||||
if ( obj.type == OBJ_FIREBALL && obj.id == VCLIP_VOLATILE_WALL_HIT )
|
||||
if ( obj->type == OBJ_FIREBALL && obj->id == VCLIP_VOLATILE_WALL_HIT )
|
||||
{
|
||||
vms_vector offs_vec;
|
||||
vm_vec_normalized_dir_quick(offs_vec,Viewer->pos,obj.pos);
|
||||
vm_vec_normalized_dir_quick(offs_vec,Viewer->pos,obj->pos);
|
||||
vm_vec_scale_add2(pos,offs_vec,F1_0);
|
||||
}
|
||||
|
||||
if (bm->bm_w > bm->bm_h)
|
||||
g3_draw_bitmap(pos,obj.size,fixmuldiv(obj.size,bm->bm_h,bm->bm_w),*bm);
|
||||
g3_draw_bitmap(pos,obj->size,fixmuldiv(obj->size,bm->bm_h,bm->bm_w),*bm);
|
||||
else
|
||||
g3_draw_bitmap(pos,fixmuldiv(obj.size,bm->bm_w,bm->bm_h),obj.size,*bm);
|
||||
g3_draw_bitmap(pos,fixmuldiv(obj->size,bm->bm_w,bm->bm_h),obj->size,*bm);
|
||||
}
|
||||
|
||||
//draw an object that is a texture-mapped rod
|
||||
|
|
|
@ -118,7 +118,7 @@ void do_powerup_frame(const vobjptridx_t obj)
|
|||
|
||||
void draw_powerup(const vobjptridx_t obj)
|
||||
{
|
||||
draw_object_blob(*obj, Vclip[obj->rtype.vclip_info.vclip_num].frames[obj->rtype.vclip_info.framenum] );
|
||||
draw_object_blob(obj, Vclip[obj->rtype.vclip_info.vclip_num].frames[obj->rtype.vclip_info.framenum] );
|
||||
}
|
||||
|
||||
static void _powerup_basic_nonhud(int redadd, int greenadd, int blueadd, int score)
|
||||
|
|
|
@ -60,7 +60,7 @@ void draw_vclip_object(const vobjptridx_t obj,fix timeleft,int lighted, int vcli
|
|||
else {
|
||||
Assert(lighted==0); //blob cannot now be lighted
|
||||
|
||||
draw_object_blob(*obj, Vclip[vclip_num].frames[bitmapnum] );
|
||||
draw_object_blob(obj, Vclip[vclip_num].frames[bitmapnum] );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue