View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000430 | FSSCP | graphics | public | 2005-06-01 03:23 | 2006-11-01 15:48 |
| Reporter | WMCoolmon | Assigned To | Bobboau | ||
| Priority | normal | Severity | crash | Reproducibility | sometimes |
| Status | closed | Resolution | no change required | ||
| Summary | 0000430: geometry_batcher causes G3_Count problem | ||||
| Description | geometry_batcher appears to have a problem with G3_Count not being set properly for some reason. This error comes from the Shivan gauntlet, multiplayer, just after the second wave warps in. | ||||
| Additional Information | Call stack: -------------------- fs2_open_ex_d.exe!debug_int3() Line 892 C++ fs2_open_ex_d.exe!WinAssert(char * text=0x00b90bf4, char * filename=0x00be6ba8, int linenum=517) Line 974 C++ fs2_open_ex_d.exe!g3_draw_poly(int nv=24, vertex * * pointlist=0x1b861b08, unsigned int tmap_flags=4202497) Line 517 + 0x2b C++ > fs2_open_ex_d.exe!geometry_batcher::render(int flags=8193) Line 532 + 0x1e C++ fs2_open_ex_d.exe!particle_render_all() Line 798 C++ fs2_open_ex_d.exe!game_render_frame(vec3d * eye_pos=0x0012f514, matrix * eye_orient=0x0012f4e8) Line 4933 C++ fs2_open_ex_d.exe!game_frame(int paused=0) Line 5710 + 0x13 C++ fs2_open_ex_d.exe!game_do_frame() Line 6126 + 0x7 C++ fs2_open_ex_d.exe!game_do_state(int state=2) Line 7963 C++ fs2_open_ex_d.exe!gameseq_process_events() Line 657 + 0x14 C++ fs2_open_ex_d.exe!WinMainSub(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * hPrev=0x00000000, char * szCmdLine=0x00133720, int nCmdShow=1) Line 8599 + 0x5 C++ fs2_open_ex_d.exe!WinMain(HINSTANCE__ * hInst=0x00400000, HINSTANCE__ * hPrev=0x00000000, char * szCmdLine=0x00133720, int nCmdShow=1) Line 8648 + 0x15 C++ fs2_open_ex_d.exe!WinMainCRTStartup() Line 251 + 0x30 C KERNEL32.DLL!7c59893d() -------------------- ::render() values: -------------------- - this 0x021388c0 {n_to_render=8 n_allocated=174 vert=0x1b7a4a18 {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 ...} ...} geometry_batcher * const n_to_render 8 int n_allocated 174 int - vert 0x1b7a4a18 {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 ...} vertex * x -1.0737418e+008 float y -1.0737418e+008 float z -1.0737418e+008 float sx 0.00000000 float sy 0.00000000 float sw 0.00000000 float u 0.00000000 float v 1.0000000 float u2 0.00000000 float v2 0.00000000 float u3 0.00000000 float v3 0.00000000 float u4 0.00000000 float v4 0.00000000 float + real_pos {xyz={x=0.00000000 y=0.00000000 z=0.00000000 } a1d=0x1b7a4a50 } vec3d spec_a 0 unsigned char spec_r 0 unsigned char spec_b 0 unsigned char spec_g 0 unsigned char r 204 'Ì' unsigned char g 204 'Ì' unsigned char b 204 'Ì' unsigned char a 204 'Ì' unsigned char codes 0 unsigned char flags 1 '␁' unsigned char + pad 0x1b7a4a66 "" unsigned char [2] - vert_list 0x1b861b08 vertex * * - 0x1b7a4a18 {x=-1.0737418e+008 y=-1.0737418e+008 z=-1.0737418e+008 ...} vertex * x -1.0737418e+008 float y -1.0737418e+008 float z -1.0737418e+008 float sx 0.00000000 float sy 0.00000000 float sw 0.00000000 float u 0.00000000 float v 1.0000000 float u2 0.00000000 float v2 0.00000000 float u3 0.00000000 float v3 0.00000000 float u4 0.00000000 float v4 0.00000000 float + real_pos {xyz={x=0.00000000 y=0.00000000 z=0.00000000 } a1d=0x1b7a4a50 } vec3d spec_a 0 unsigned char spec_r 0 unsigned char spec_b 0 unsigned char spec_g 0 unsigned char r 204 'Ì' unsigned char g 204 'Ì' unsigned char b 204 'Ì' unsigned char a 204 'Ì' unsigned char codes 0 unsigned char flags 1 '␁' unsigned char + pad 0x1b7a4a66 "" unsigned char [2] flags 8193 int -------------------- | ||||
| Tags | No tags attached. | ||||
|
|
waiting for feedback from WMC WMC: "It may have something to do with what I had to do in the function for drawing the shield gauge" me: "what exactly were you doing? and what was the problem?" |
|
|
There's nothing wrong with the geometry_batcher itself but the render call at least does have to be used inside of a g3_start_frame()/g3_end_frame() pair. If you called a g3_end_frame() without starting another one in the shield stuff then you'd have the problem either way. particle_render_all() is just next in line so even if the geometry_batcher wasn't there the old code still would have hit the Assert(). |
|
|
that's what I was thinking |
|
|
Well since no one else has yet I'm closing this. There doesn't seem to be anything wrong with the code in CVS so this must be specific to something WMC is doing. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2005-06-01 03:23 | WMCoolmon | New Issue | |
| 2005-06-01 03:23 | WMCoolmon | Assigned To | => Bobboau |
| 2005-06-01 03:23 | WMCoolmon | Status | new => assigned |
| 2005-06-02 02:25 | Bobboau | Note Added: 0002566 | |
| 2005-06-05 21:08 | taylor | Note Added: 0002598 | |
| 2005-06-11 04:22 | Bobboau | Note Added: 0002625 | |
| 2005-06-29 14:03 | taylor | Status | assigned => closed |
| 2005-06-29 14:03 | taylor | Note Added: 0002710 | |
| 2006-11-01 15:48 | taylor | Resolution | open => no change required |