/* ------------------------------------------------------------------ Black Nebula File : viewports.c Programmer: Colin Adams Date: 26/4/91 Last Modified : 10/6/91 Description: Allocates two bitmapped views for the main display. ------------------------------------------------------------------ */ #define AMIGA_INCLUDES #include "3d.h" extern UWORD Palette2[]; extern short swapflag, store1, store2; struct View my_view; struct View back_view; struct View *my_old_view; struct ViewPort my_view_port; struct ViewPort back_view_port; struct RasInfo my_ras_info; struct RasInfo back_ras_info; struct BitMap my_bit_map; struct BitMap back_bit_map; struct RastPort my_rast_port; struct RastPort back_rast_port; void SetUpViews(void) { UWORD *pointer; int loop; char *temppoint, *temp2; my_old_view = GfxBase->ActiView; InitView(&my_view); InitView(&back_view); my_view.ViewPort = &my_view_port; back_view.ViewPort = &back_view_port; InitVPort(&my_view_port); InitVPort(&back_view_port); back_view_port.DWidth = my_view_port.DWidth = G; back_view_port.DHeight = my_view_port.DHeight = HEIGHT; my_view_port.RasInfo = &my_ras_info; my_view_port.Modes = NULL; back_view_port.RasInfo = &back_ras_info; back_view_port.Modes = NULL; my_view_port.ColorMap = (struct ColorMap *) GetColorMap(COLOURS); if(my_view_port.ColorMap == NULL) CleanUpandExit(); back_view_port.ColorMap = (struct ColorMap *) GetColorMap(COLOURS); if(back_view_port.ColorMap == NULL) CleanUpandExit(); pointer = (UWORD *) my_view_port.ColorMap->ColorTable; for(loop = 0; loopColorTable; for(loop = 0; loop < COLOURS; loop++) *pointer++ = Palette2[loop]; InitBitMap(&my_bit_map, DEPTH, G, HEIGHT); InitBitMap(&back_bit_map, DEPTH, G, HEIGHT); temppoint = AllocMem(40960, MEMF_CHIP); if(!temppoint) CleanUpandExit(); temp2 = AllocMem(40960, MEMF_CHIP); if(!temp2) CleanUpandExit(); for(loop=0; loop