3 registered members (NewbieZorro, TipmyPip, 1 invisible),
19,045
guests, and 8
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: set BMAP by function
[Re: delinkx]
#263368
04/29/09 09:18
04/29/09 09:18
|
Joined: Jun 2008
Posts: 151 Ukraine
XD1v0
OP
Member
|
OP
Member
Joined: Jun 2008
Posts: 151
Ukraine
|
Thanks guys for trying helping with this mess. My mistake was that in function I trying set sturct BMAP, but this is wrong I must set pointer to BMAP not sturct. there is working code
#include <acknex.h>
#include <default.c>
PANEL* cool_pan =
{
scale_x = 0.5; scale_y = 0.5;
flags = SHOW;
}
function create_screen_bmap (BMAP** this,VECTOR* pos,VECTOR* aang)
{
BMAP* fb = bmap_createblack(screen_size.x,screen_size.y,24);
vec_set(camera.x,pos);vec_set(camera.pan,aang);
wait(2);// render screen in new position and angle
bmap_for_screen(fb,0,1);
*this = fb;
}
void main ()
{
level_load(0);ent_create("sphere.mdl",nullvector,NULL);
create_screen_bmap(cool_pan.bmap,vector(-50,0,0),nullvector);beep();
}

A7 Commercial Celeron 1700, GeForce 5500 FX 256mb, 1 Gb Ram
|
|
|
Re: set BMAP by function
[Re: delinkx]
#263411
04/29/09 13:14
04/29/09 13:14
|
Joined: Feb 2008
Posts: 3,232 Australia
EvilSOB
Expert
|
Expert
Joined: Feb 2008
Posts: 3,232
Australia
|
Ive discovered it may just be an issue with timing in the testing code. This is working for me... #include <acknex.h>
#include <default.c>
PANEL* cool_pan =
{
scale_x = 0.5; scale_y = 0.5;
flags = SHOW;
}
BMAP* create_screen_bmap(VECTOR* pos, VECTOR* aang)
{
BMAP* fb = bmap_createblack(screen_size.x,screen_size.y,24);
vec_set(camera.x,pos);vec_set(camera.pan,aang);
bmap_for_screen(fb,0,1);
return(fb);
}
void main ()
{
level_load(0);ent_create("level_export.mdl",nullvector,NULL);
wait(5); //<<make sure level load has completed before using bmap_for_screen
//
cool_pan.bmap = create_screen_bmap(vector(-50,0,0),nullvector);
beep();
}
"There is no fate but what WE make." - CEO Cyberdyne Systems Corp. A8.30.5 Commercial
|
|
|
|