Nothing entered.
[http://sourceforge.net/p/ufoai/bugs/1869 Item 1869] imported from sourceforge.net tracker on 2013-01-28 19:12:13
When loading the attached savegame and entering the battlescape - either immediately or after moving a bit around, this assertion error occurs:
ufo: src/client/cl_actor.c:4478: CL_AddActor: Assertion `add.model' failed.
Richlv could reproduce it.
I added some debug logging and investigated. The error occurs because some actor attempts to put weapon #34 into the right hand. When loading the game it seems like weapon #34 is a knife - but csi.ods[34].isDummy is set to 1 and the knife is not loaded.
I cannot figure out where the weapon names and numbers and isDummy is defined.
trunk, r19821
===== Comments Ported from Sourceforge =====
====== nobody (2008-10-25 16:43:31) ======
====== richlv (2008-10-25 18:11:31) ======
adding a full bt, hopefully that helps at least a bit
ufo: src/client/cl_actor.c:4478: CL_AddActor: Assertion `add.model' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb6f3eb60 (LWP 27826)]
0xb7c27c66 in raise () from /lib/libc.so.6
(gdb) bt full
#0 0xb7c27c66 in raise () from /lib/libc.so.6
No symbol table info available.
#1 0xb7c29571 in abort () from /lib/libc.so.6
No symbol table info available.
#2 0xb7c20e60 in __assert_fail () from /lib/libc.so.6
No symbol table info available.
#3 0x08057747 in CL_AddActor (le=0xa40d9b0, ent=0xbfa154e4) at src/client/cl_actor.c:4478
add = {model = 0x0, angles = {0, 0, 0}, scale = {0, 0, 0}, origin = {0, 0, 0}, oldorigin = {0, 0, 0}, mins = {0,
0, 0}, maxs = {0, 0, 0}, tagent = 0x0, tagname = 0x0, skinnum = 0, alpha = 0, state = 0, flags = 0, as = {frame = 0,
oldframe = 0, backlerp = 0, time = 0, dt = 0, mesh = 0, list = "\000\000\000\000\000\000\000", lcur = 0 '\0',
ladd = 0 '\0', change = 0 '\0'}, transform = {done = qfalse, processing = qfalse, matrix = {0 <repeats 16 times>}},
next = 0x0}
__PRETTY_FUNCTION__ = "CL_AddActor"
#4 0x08099058 in LE_AddToScene () at src/client/cl_le.c:1143
le = (le_t *) 0xa40d9b0
ent = {model = 0x1659b740, angles = {0, 270, 0}, scale = {0, 0, 0}, origin = {656, -80, 104}, oldorigin = {656,
-80, 104}, mins = {0, 0, 0}, maxs = {0, 0, 0}, tagent = 0x0, tagname = 0x0, skinnum = 0, alpha = 0, state = 0,
flags = 0, as = {frame = 33, oldframe = 33, backlerp = 0.949999988, time = 1000, dt = 50, mesh = 0,
list = "\v\000\000\000\000\000\000", lcur = 0 '\0', ladd = 1 '\001', change = 1 '\001'}, transform = {done = qfalse,
processing = qfalse, matrix = {0 <repeats 16 times>}}, next = 0x0}
modelOffset = {0, 0, 0}
i = 9
#5 0x080db2bb in V_RenderView () at src/client/cl_view.c:363
No locals.
#6 0x080c3687 in SCR_UpdateScreen () at src/client/cl_screen.c:543
No locals.
#7 0x0809e7c9 in CL_Frame (now=1220340, data=0x0) at src/client/cl_main.c:2345
delta = 51
last_frame = 1220340
#8 0x080fba9c in tick_timer (now=1220340, data=0x17e1560c) at src/common/common.c:1070
timer = (struct timer *) 0x17e1560c
old_interval = 20
lateness = 23
#9 0x080fbd37 in Qcommon_Frame () at src/common/common.c:1151
event = (struct event *) 0x1a6604d4
time_to_next = 0
#10 0x0813e1a7 in main (argc=1, argv=0xbfa15734) at src/ports/linux/linux_main.c:97
No locals.
====== tobixen (2008-10-25 19:52:25) ======
I managed to "work around" this bug by editing one line in src/client/cl_main.c:
===================================================================
--- src/client/cl_main.c (revision 19830)
+++ src/client/cl_main.c (working copy)
@@ -1559,13 +1559,18 @@
percent = 95.0f;
for (i = 0; i < csi.numODs; i++) {
- if (csi.ods[i].type[0] == '\0' || csi.ods[i].isDummy)
+ if (csi.ods[i].type[0] == '\0')
...though I still don't know what isDummy is for, whether it's important or not, and where it's defined.
====== tlh2000 (2008-11-12 19:28:44) ======
This artifact has been marked as a duplicate of artifact 2219197 with reason:
No explanation provided.