MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / create

Method create

src/SB/Game/zNPCTypePrawn.cpp:122–195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120 };
121
122 bool television::create(S32 width, S32 height)
123 {
124 cam = NULL;
125 raster = NULL;
126 bgraster = NULL;
127 world = NULL;
128 memset(&bgcolor, 0x0, sizeof(bgcolor));
129
130 w = (float)width;
131 h = (float)height;
132 cam = RwCameraCreate();
133 if (cam == NULL)
134 {
135 destroy();
136 return FALSE;
137 }
138
139 RwBBox worldBbox;
140 worldBbox.sup.z = 100000.f;
141 worldBbox.sup.y = 100000.f;
142 worldBbox.sup.x = 100000.f;
143
144 worldBbox.inf.z = -100000.f;
145 worldBbox.inf.y = -100000.f;
146 worldBbox.inf.x = -100000.f;
147
148 world = RpWorldCreate(&worldBbox);
149 if (world == NULL)
150 {
151 destroy();
152 return FALSE;
153 }
154
155 RpWorldAddCamera(world, cam);
156 _rwObjectHasFrameSetFrame(cam, RwFrameCreate());
157
158 xVec2 windowSize;
159 windowSize.x = 1.0;
160 windowSize.y = 1.0;
161 RwCameraSetViewWindow(cam, (const RwV2d*)&windowSize);
162 RwCameraSetProjection(cam, rwPERSPECTIVE);
163
164 if (cam->object.object.parent == NULL)
165 {
166 destroy();
167 return FALSE;
168 }
169
170 raster =
171 RwRasterCreate(width, height, 32, rwRASTERGAMMACORRECTED | rwRASTERPIXELLOCKEDWRITE);
172 if (raster == NULL)
173 {
174 destroy();
175 return FALSE;
176 }
177 cam->frameBuffer = raster;
178 if (cam == NULL)
179 {

Callers 1

InitMethod · 0.45

Calls 2

memsetFunction · 0.85
destroyFunction · 0.70

Tested by

no test coverage detected