Skip to content

Commit

Permalink
Switch Laser_render to vobjptr_t
Browse files Browse the repository at this point in the history
  • Loading branch information
vLKp committed Nov 30, 2014
1 parent d79287e commit cf31cc4
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 14 deletions.
2 changes: 1 addition & 1 deletion common/main/fwdobject.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion common/main/laser.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
9 changes: 5 additions & 4 deletions similar/main/laser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
Expand Down
12 changes: 6 additions & 6 deletions similar/main/object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion similar/main/powerup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion similar/main/vclip.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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] );
}
}

Expand Down

0 comments on commit cf31cc4

Please sign in to comment.