Wytter Report post Posted July 6, 2005 (edited) This thread is for bug reports for Cal3D only! In the new character interface, when you try rotating the character (using PgUp/Dn) it is not animated any further than one of it's legs being lifted from the ground. When rotating the character in the normal mode, after pressing PgUp/Dn for a little over a second the character will not move but continue rotating, then start moving and rotating again. Glowing weapons does not glow. Edited July 8, 2005 by Wytter Share this post Link to post Share on other sites
etlar Report post Posted July 6, 2005 (edited) I updated from cvs and was able to build the client. It appears I am doing something wrong with all the objects, models, textures, etc. I tried using the update102test2. It is not complete. The client segfaults. I tried putting things together and it ran. Except, my character was invisible. Not sure what to do here. Edited July 6, 2005 by etlar Share this post Link to post Share on other sites
Wytter Report post Posted July 7, 2005 (edited) Try creating symbolic links between Animations and animations Meshes and meshes Appears to be some mistakes made by windows users when making the actor def files... Edited July 7, 2005 by Wytter Share this post Link to post Share on other sites
etlar Report post Posted July 7, 2005 (edited) Try creating symbolic links betweenAnimations and animations Meshes and meshes Appears to be some mistakes made by windows users when making the actor def files... 177281[/snapback] I have the client running now. My problem was it wanted actor_defs in /usr/local/games/el and I have everthing in the build directory. ini fixed this. The PgUp/PgDn keys on the numpad do nothing. The others still zoom. Do I have the right thing here? I do see a difference in walking, sitting, green target, and use for doors though. Added: I also love the new knowledge layout. much better. Edited July 8, 2005 by etlar Share this post Link to post Share on other sites
Vegar Report post Posted July 7, 2005 I don't know if it's related, but if you run the client with -dir /path/to/EL/dir, it segfaults on some cal3d functions. Backtrace: #0 0xb7c47981 in CalCoreSkeleton::scale () from /home/vegar/el-test/cal3d-0.10.0/src/cal3d/.libs/libcal3d.so.11 #1 0x080ac668 in CalCoreSkeleton_Scale (self=0x0, factor=0) at cal3d_wrapper.cpp:534 #2 0x0805b36f in parse_actor_script (cfg=0x825d04c) at actor_scripts.c:1954 #3 0x0805b3ca in parse_actor_defs (node=0x0) at actor_scripts.c:1970 #4 0x0805b3f2 in parse_actor_defs (node=0x0) at actor_scripts.c:1976 #5 0x0805b525 in read_actor_defs (dir=0x0, index=0x0) at actor_scripts.c:2008 #6 0x0805b59f in init_actor_defs () at actor_scripts.c:2029 #7 0x08079736 in init_stuff () at init.c:520 #8 0x08081714 in main (argc=0, argv=0x0) at main.c:145 Share this post Link to post Share on other sites
Lachesis Report post Posted July 7, 2005 (edited) Bad object: ./3dobjects/structures/house9.e3d . Two or more materials with the same texture name! Bad object: ./3dobjects/structures/house9.e3d . Two or more materials with the same texture name! Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 16342)] 0x08064288 in remove_bag (which_bag=6) at bags.c:118 118 Â Â Â Â Â Â sector=SECTOR_GET(objects_list[bag_list[which_bag].obj_3d_id]->x_pos, objects_list[bag_list[which_bag].obj_3d_id]->y_pos); (gdb) backtrace #0 Â 0x08064288 in remove_bag (which_bag=6) at bags.c:118 #1 Â 0x0808c539 in process_message_from_server (in_data=0x95b9340 "\035\002", data_lenght=6) at multiplayer.c:776 #2 Â 0x0808ce48 in process_data_from_server () at multiplayer.c:1024 #3 Â 0x080882e7 in start_rendering () at main.c:54 #4 Â 0x0808849a in main (argc=715827883, argv=0x2aaaaaab) at main.c:147 P.S. Not reproducable when all data files are in place. Edited July 7, 2005 by Lachesis Share this post Link to post Share on other sites
mikeman Report post Posted July 7, 2005 (edited) I don't know if this has to do with any of the problems, but when I just checkedout the CVS, I get the old def files, not the ones for Cal3D. The code is updated for Cal3D, but the def files still reference the old md2 format. Where did you guys get the new defs and binary files(animations,meshes,skeletons)? Edited July 7, 2005 by mikeman Share this post Link to post Share on other sites
Wytter Report post Posted July 7, 2005 (edited) I don't know if this has to do with any of the problems, but when I just checkedout the CVS, I get the old def files, not the ones for Cal3D. The code is updated for Cal3D, but the def files still reference the old md2 format. Where did you guys get the new defs and binary files(animations,meshes,skeletons)? Here: http://el.tfm.ro/update_1.0.2-test2.tar.bz2 I'll upload the new .def... Edited July 7, 2005 by Wytter Share this post Link to post Share on other sites
mikeman Report post Posted July 8, 2005 Could you please post just the bugs when you got the client up and running? Bugs and compile problems are 2 different things. There is a thread on how to build the client in the Programming forum. Share this post Link to post Share on other sites
Cajs Report post Posted July 8, 2005 (edited) Dead things are nto staying falled on the ground if you walk out of the range in which it is sent to client... e.g. I kill 2 gargs - all looks ok... I walk away from them so that they are outside the area server sends to you...than I come back...they are still dead but standing now... Edit: same tihng happens for wolf, bears Edit2: same thing for snakes and deer in todays compile (well minus the <CAL> in name since that was taken out) ~C Edited July 8, 2005 by Cajs Share this post Link to post Share on other sites
Nintenduh Report post Posted July 9, 2005 (edited) I get that too. Mainly when killing gargs in the diamond mines. They seem to die standing with no health meter The other problem I am having is falling through the ground. An easy example is the pond near beam. Edited July 9, 2005 by Nintenduh Share this post Link to post Share on other sites
Wytter Report post Posted July 9, 2005 Nintenduh, That's because you're using a diff. map than what's on the server - it has a different heightmap, hence you'll appear as if you're in a different Z location. Share this post Link to post Share on other sites
Theben Report post Posted July 9, 2005 (edited) I tried the Client from cvs today, too (Gentoo Linux, thx for the ebuild :-) ) For now there are 2 bugs I noticed, which seem to be related to Cal3d: 1) The reflection is wrong sometimes (look at the face) It s in the garg cave in TG. I mention the place because it only happens, if I step to deep into the water. 2) Sometimes I stay in this position, when I click on the bag the moster dropped to fast (reproducible). EDIT: Perhaps this is an Cal3d-issue, too: http://www.eternal-lands.com/forum/index.p...pic=12458&st=40 Edited July 9, 2005 by Theben Share this post Link to post Share on other sites
mikeman Report post Posted July 9, 2005 (edited) So, to reiterate, the bugs are: 1)Rotating the chars 2)Dead animations are wrong 3)Glowing weapons-actually that's just a feature I forgot to include 4)Reflections-actually, I don't think it's a Cal3D problem because it would happen all the time, but I could be wrong. The rest(like falling in holes in maps) is most definately not Cal3D issues. If it was just appearance then it might be(I could just do something wrong with the matrices when I'm rendering chars), but you're saying that you couldn't get out of the hole, which means the server actually thinks it's a hole there. I'm working on them, but I've been busy with this "how to build it with Dev-C" and the new random idles thing, so if anyone wants to poke around the code and fix it, go ahead. Most of them are pretty minor issues, so here are some pointers: 1)Rotating: I'm not sure about this, maybe just play with the animation speed? 2)Dead: I definately know what this is. When the actors are added in the server they are in default pose(immediately after, they start idle or other animations). When a char dies it executes the "die" anim that stops in the last frame. But when the dead actor is removed, and added again, it starts from the beginning. In the actor_add_from_server() func, probably just check if he's dead and if he is, start a "die" anim, proceed it straight to the end (via CalModel_Update()) and let it play. 3)Glowing: Just set the material parameters when rendering a weapon. 4)Reflections: Don't know about this. Edited July 9, 2005 by mikeman Share this post Link to post Share on other sites
Nintenduh Report post Posted July 9, 2005 When I was mining diamonds my char stood up (he was sitting and mining) and did some weird jet lee thing Looks like it freezes the begining of the fight animation. When I walked around and then stand still it happens again. If I leave the ~orF1 console it goes away. Hasn't started doing it again though. Share this post Link to post Share on other sites
Acelon Report post Posted July 10, 2005 Ya...that happened when Eragon was fighting a rabbit on the test server... Share this post Link to post Share on other sites
Roja Report post Posted July 10, 2005 Don't forget about the special gargoyle idles too that I explained Also..I don't know if any others noticed this, but when I am fighting, I do not always face what I am fighting. Many times my char and/or the monster/animal is farther back then normal, or turned to the side so they are not facing each other properly. Share this post Link to post Share on other sites
Nintenduh Report post Posted July 10, 2005 Also..I don't know if any others noticed this, but when I am fighting, I do not always face what I am fighting. Many times my char and/or the monster/animal is farther back then normal, or turned to the side so they are not facing each other properly. 178602[/snapback] When I was fighting a bear it looked like he was standing off to my right a bit. Makes it easy to click his death bag but looked kinda funny Share this post Link to post Share on other sites
Roja Report post Posted July 11, 2005 oh another thing...when that happened with the offset creatures, when they would die, i would walk to pick up the bag..it's contents would open up and i could take them, but my char was NOT on the bag! The bag was off to the side a few spaces. Share this post Link to post Share on other sites
Learner Report post Posted July 11, 2005 I was standing and harvesting vegies on IP and sitting on console. When I switch from the console to 3D mode I so myself do fighting moves then turn and step away from the direction I was fighting and fall into a hole. The entire time I was gaining harv exp. A while later I resync and appeared in the proper place. I haven't had problems like that with the normal 1.0.1 client. Share this post Link to post Share on other sites
Learner Report post Posted July 11, 2005 I was standing and harvesting vegies on IP and sitting on console. When I switch from the console to 3D mode I so myself do fighting moves then turn and step away from the direction I was fighting and fall into a hole. The entire time I was gaining harv exp. A while later I resync and appeared in the proper place. I haven't had problems like that with the normal 1.0.1 client. 178814[/snapback] I just grabbed the latest CVS and going to see if it ever repeats. Share this post Link to post Share on other sites
ttlanhil Report post Posted July 11, 2005 (edited) the random fighting pose isn't just players... grim(DP storage for those who don't know) was occaionally taking hits (animation, not damage) while I was working there I've also been getting the holes as well, ocassionally getting stuck, usually just tunneling (walk a few meters underground and then pop up again) I copied some old ELMs over the ones in the test update, but it is dp, votd, and especially IP I'm getting the probs on Edited July 11, 2005 by ttlanhil Share this post Link to post Share on other sites
Wytter Report post Posted July 11, 2005 (edited) After playing for a while, and adding/deleting a lot of actors (using the #invasion command in KF) I seg-faulted. Here's what I've debugged so far: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 46912537458688 (LWP 14687)] 0x00002aaaab560bb0 in CalAnimation::getCoreAnimation () from /usr/lib/libcal3d.so.11 (gdb) backtrace #0 0x00002aaaab560bb0 in CalAnimation::getCoreAnimation () from /usr/lib/libcal3d.so.11 #1 0x00002aaaab598e9a in CalMixer::updateSkeleton () from /usr/lib/libcal3d.so.11 #2 0x00002aaaab59ab99 in CalModel::update () from /usr/lib/libcal3d.so.11 #3 0x0000000000424754 in display_game_handler (win=0x4f8a940) at gamewin.c:604 #4 0x000000000041de5e in draw_window (win=0x4f8a940) at elwindows.c:981 #5 0x000000000041e22e in display_window (win_id=0) at elwindows.c:1111 #6 0x000000000041c517 in display_windows (level=1) at elwindows.c:52 #7 0x000000000041a6c3 in draw_scene () at draw_scene.c:87 #8 0x0000000000433c4a in start_rendering () at main.c:83 #9 0x0000000000433e5d in main (argc=0, argv=0xbd6456a4) at main.c:181 And a more detailed: (gdb) bt full #0 0x00002aaaab560bb0 in CalAnimation::getCoreAnimation () from /usr/lib/libcal3d.so.11 No symbol table info available. #1 0x00002aaaab598e9a in CalMixer::updateSkeleton () from /usr/lib/libcal3d.so.11 No symbol table info available. #2 0x00002aaaab59ab99 in CalModel::update () from /usr/lib/libcal3d.so.11 No symbol table info available. #3 0x0000000000424754 in display_game_handler (win=0x4f8a940) at gamewin.c:604 main_count = 80697 times_FPS_below_3 = 0 next_fps_time = 1600215 last_count = 21 fps = {57, 57, 56, 54, 51} fps_average = 55 shadows_were_disabled = 0 str = "\b\000\000\000\000\000\000\000\uffff\uffff\uffff\uffff\uffff*\000\000@`\uffff\uffff\uffff*\000\000\206=\uffff\uffff\uffff*\000\000@`\uffff\uffff\uffff*\000\000@`\uffff\uffff\uffff*\000\000\001\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000I\u047c\uffff\uffff*\000\000@`\uffff\uffff\uffff*\000\000\uffff\u013c\uffff\uffff*\000\000\000E\000\000\000\000\000\000m\uffff\232\uffff\uffff*\000\000@`\uffff\uffff\uffff*\000\000@\uffff\uffff\004\000\000\000\000\003", '\0' <repeats 23 times>, "m\uffff\232\uffff\uffff*\000\000@`\uffff\uffff\uffff*\000\000\uffff\uffff\uffff\uffff\000\000\000\000\001\000\000" y_line = 25 i = 25 any_reflection = 0 mouse_rate = 137160704 #4 0x000000000041de5e in draw_window (win=0x4f8a940) at elwindows.c:981 ret_val = 1 W = (widget_list *) 0x0 #5 0x000000000041e22e in display_window (win_id=0) at elwindows.c:1111 No locals. #6 0x000000000041c517 in display_windows (level=1) at elwindows.c:52 id = -1 next_id = -9999 i = 0 #7 0x000000000041a6c3 in draw_scene () at draw_scene.c:87 No locals. #8 0x0000000000433c4a in start_rendering () at main.c:83 event = {type = 24 '\030', active = {type = 24 '\030', gain = 102 'f', state = 33 '!'}, key = {type = 24 '\030', which = 102 'f', state = 33 '!', keysym = {scancode = 2 '\002', sym = 2864694747, mod = 10922, unicode = 29037}}, motion = {type = 24 '\030', which = 102 'f', state = 33 '!', x = 2, y = 0, xrel = -14885, yrel = -21825}, button = {type = 24 '\030', which = 102 'f', button = 33 '!', state = 5 '\005', x = 2, y = 0}, jaxis = {type = 24 '\030', which = 102 'f', axis = 33 '!', value = 2}, jball = {type = 24 '\030', which = 102 'f', ball = 33 '!', xrel = 2, yrel = 0}, jhat = {type = 24 '\030', which = 102 'f', hat = 33 '!', value = 5 '\005'}, jbutton = {type = 24 '\030', which = 102 'f', button = 33 '!', state = 5 '\005'}, resize = {type = 24 '\030', w = 2, h = -1430272549}, expose = {type = 24 '\030'}, quit = {type = 24 '\030'}, user = {type = 24 '\030', code = 2, data1 = 0x2aaaaabfc5db, data2 = 0x42d2716d}, syswm = {type = 24 '\030', msg = 0x2aaaaabfc5db}} music_thread = (SDL_Thread *) 0x5329080 network_thread = (SDL_Thread *) 0x513a630 message_queue = (queue_t *) 0x5199760 #9 0x0000000000433e5d in main (argc=0, argv=0xbd6456a4) at main.c:181 No locals. Here's the actors_list: (gdb) print max_actors $28 = 27 (gdb) print actors_list[0]->calmodel $1 = (class CalModel *) 0x81e7fd0 (gdb) print actors_list[1]->calmodel $2 = (class CalModel *) 0x4fff400 (gdb) print actors_list[2]->calmodel $3 = (class CalModel *) 0x84a0a60 (gdb) print actors_list[3]->calmodel $4 = (class CalModel *) 0x81c3a80 (gdb) print actors_list[4]->calmodel $5 = (class CalModel *) 0x8774910 (gdb) print actors_list[5]->calmodel $6 = (class CalModel *) 0x50a9e70 (gdb) print actors_list[6]->calmodel $7 = (class CalModel *) 0x836cf30 (gdb) print actors_list[7]->calmodel $8 = (class CalModel *) 0x843a030 (gdb) print actors_list[8]->calmodel $9 = (class CalModel *) 0x84957f0 (gdb) print actors_list[9]->calmodel $10 = (class CalModel *) 0x81bf370 (gdb) print actors_list[10]->calmodel $11 = (class CalModel *) 0x85a5590 (gdb) print actors_list[11]->calmodel $12 = (class CalModel *) 0x7f8aa20 (gdb) print actors_list[12]->calmodel $13 = (class CalModel *) 0x8ab2180 (gdb) print actors_list[13]->calmodel $14 = (class CalModel *) 0x862e2a0 (gdb) print actors_list[14]->calmodel $15 = (class CalModel *) 0x83968b0 (gdb) print actors_list[15]->calmodel $16 = (class CalModel *) 0x844c3a0 (gdb) print actors_list[16]->calmodel $17 = (class CalModel *) 0x8512520 (gdb) print actors_list[17]->calmodel $18 = (class CalModel *) 0x84ddab0 (gdb) print actors_list[18]->calmodel $19 = (class CalModel *) 0x89a1a60 (gdb) print actors_list[19]->calmodel $20 = (class CalModel *) 0x8b8ff60 (gdb) print actors_list[20]->calmodel $21 = (class CalModel *) 0x7f278c0 (gdb) print actors_list[21]->calmodel $22 = (class CalModel *) 0x8071040 (gdb) print actors_list[22]->calmodel $23 = (class CalModel *) 0x86cfb00 (gdb) print actors_list[23]->calmodel $24 = (class CalModel *) 0x893dd80 (gdb) print actors_list[24]->calmodel $25 = (class CalModel *) 0x8493010 (gdb) print actors_list[25]->calmodel $26 = (class CalModel *) 0x7f2a9a0 (gdb) print actors_list[26]->calmodel $27 = (class CalModel *) 0x878e8d0 However, from the detailed backtrace we saw that i==25, hence it's actors_list[25] that crashed the client: (gdb) print actors_list[25] $29 = (actor *) 0x83ba870 (gdb) print *actors_list[25] $30 = { actor_id = 1549, actor_type = 31, tmp = { have_tmp = 1, cur_frame = '\0' <repeats 15 times>, x_pos = 83, y_pos = 42.5, z_pos = 0, x_tile_pos = 166, y_tile_pos = 85, x_rot = 0, y_rot = 0, z_rot = 90 }, calmodel = 0x7f2a9a0, cur_anim = { anim_index = 12, kind = 0, duration = 0.0361951776 }, cur_idle_anims = { { anim_index = 0, kind = 0, duration = 0 } <repeats 16 times> }, IsOnIdle = 0, anim_time = 0, x_pos = 83, y_pos = 42.5, z_pos = 0, x_tile_pos = 166, y_tile_pos = 85, x_rot = 0, y_rot = 0, z_rot = 90, boots = 0, hair = 0, skin = 0, pants = 0, shirt = 0, cur_weapon = 0, is_enhanced_model = 0, body_parts = 0x0, cur_frame = '\0' <repeats 15 times>, remapped_colors = 0 '\0', texture_id = 60, skin_name = "./meshes/skeleton1.bmp", '\0' <repeats 233 times>, actor_name = "\206Skeleton", '\0' <repeats 246 times>, que = '\0' <repeats 20 times>, last_command = 0 '\0', busy = 0 '\0', sitting = 1 '\001', fighting = 0 '\0', move_x_speed = 0, move_y_speed = 0, move_z_speed = 0, movement_frames_left = 0, rotate_x_speed = 0, rotate_y_speed = 0, rotate_z_speed = 0, rotate_frames_left = 0, after_move_frames_left = 0, moving = 0 '\0', rotating = 0 '\0', stop_animation = 0 '\0', stand_idle = 1 '\001', sit_idle = 0 '\0', dead = 0 '\0', damage = 0, damage_ms = 0, last_health_loss = 0, cur_health = 25, max_health = 25, ghost = 0 '\0', kind_of_actor = 19, current_displayed_text = '\0' <repeats 59 times>, current_displayed_text_time_left = 0, x_speed = 0, y_speed = 0, z_speed = 0 } (gdb) print *actors_list[25]->calmodel $31 = { m_pCoreModel = 0x6a434f0, m_pSkeleton = 0x84a0a20, m_pMixer = 0x83bb5e0, m_pMorphTargetMixer = 0x7f73b60, m_pPhysique = 0x86474e0, m_pSpringSystem = 0x7f73bc0, m_pRenderer = 0x8629570, m_userData = 0x0, m_vectorMesh = { <std::_Vector_base<CalMesh*, std::allocator<CalMesh*> >> = { _M_impl = { <std::allocator<CalMesh*>> = { <__gnu_cxx::new_allocator<CalMesh*>> = { <No data fields> }, <No data fields> }, _M_start = 0x81565a0, _M_finish = 0x81565a8, _M_end_of_storage = 0x81565a8} }, }, m_boundingBox = { plane = { { a = -1.17704891e-12, b = 1.53049818e-41, c = 0, d = 0 }, { a = 0, b = 0, c = 0, d = 0 }, { a = 0, b = 0, c = 0, d = 0 }, { a = 6.80997673e-34, b = 0, c = 6.81818131e-34, d = 0 }, { a = 6.81818131e-34, b = 0, c = 0, d = 0 }, { a = 0, b = 0, c = 0, d = 0 } } } } } (gdb) print *actors_list[25]->calmodel->m_pCoreModel $32 = {m_strName = { static npos = 18446744073709551615, _M_dataplus = { <std::allocator<char>> = { <__gnu_cxx::new_allocator<char>> = { <No data fields> }, <No data fields> }, _M_p = 0x6a454e8 "Model"} }, m_pCoreSkeleton = 0x6a43670, m_vectorCoreAnimation = { <std::_Vector_base<CalCoreAnimation*,std::allocator<CalCoreAnimation*> >> = { _M_impl = { <std::allocator<CalCoreAnimation*>> = { <__gnu_cxx::new_allocator<CalCoreAnimation*>> = { <No data fields> }, <No data fields> }, _M_start = 0x6a714a0, _M_finish = 0x6a71518, _M_end_of_storage = 0x6a71520 } }, <No data fields> }, m_vectorCoreMorphAnimation = { <std::_Vector_base<CalCoreMorphAnimation*,std::allocator<CalCoreMorphAnimation*> >> = { _M_impl = { <std::allocator<CalCoreMorphAnimation*>> = { <__gnu_cxx::new_allocator<CalCoreMorphAnimation*>> = { <No data fields> }, <No data fields> }, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0 } }, <No data fields> }, m_vectorCoreMesh = { <std::_Vector_base<CalCoreMesh*,std::allocator<CalCoreMesh*> >> = { _M_impl = { <std::allocator<CalCoreMesh*>> = { <__gnu_cxx::new_allocator<CalCoreMesh*>> = { <No data fields> }, <No data fields> }, M_start = 0x6a9cf90, _M_finish = 0x6a9cf98, _M_end_of_storage = 0x6a9cf98 } }, <No data fields>}, m_vectorCoreMaterial = { <std::_Vector_base<CalCoreMaterial*,std::allocator<CalCoreMaterial*> >> = { _M_impl = {<std::allocator<CalCoreMaterial*>> = { <__gnu_cxx::new_allocator<CalCoreMaterial*>> = { <No data fields> }, <No data fields> }, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0 } }, <No data fields> }, m_mapmapCoreMaterialThread = { _M_t = { _M_impl = { <std::allocator<std::_Rb_tree_node<std::pair<const int, std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > > > > >> = { <__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const int, std::map<int, int, std::less<int>, std::allocator<std::pair<const int, int> > > > > >> = { <No data fields> }, <No data fields> }, _M_key_compare = { <std::binary_function<int,int,bool>> = { <No data fields> }, <No data fields> }, _M_header = { _M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x6a43568, _M_right = 0x6a43568 }, _M_node_count = 0 } } }, m_userData = 0x0, m_animationName = { _M_t = { _M_impl = { <std::allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >> = { <__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >> = { <No data fields> }, <No data fields> }, _M_key_compare = { <std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,bool>> = { <No data fields> }, <No data fields> }, _M_header = { _M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x6a435a0, _M_right = 0x6a435a0 }, _M_node_count = 0 } } }, m_materialName = { _M_t = { _M_impl = { <std::allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >> = { <__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >> = { <No data fields> }, <No data fields> }, _M_key_compare = { <std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,bool>> = { <No data fields> }, <No data fields> }, _M_header = { _M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x6a435d0, _M_right = 0x6a435d0 }, _M_node_count = 0 } } }, m_meshName = { _M_t = { _M_impl = { <std::allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >> = { <__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int> > >> = { <No data fields> }, <No data fields> }, _M_key_compare = { <std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >,std::basic_string<char, std::char_traits<char>, std::allocator<char> >,bool>> = { <No data fields> }, <No data fields> }, _M_header = { _M_color = std::_S_red, _M_parent = 0x0, _M_left = 0x6a43600, _M_right = 0x6a43600 }, _M_node_count = 0 } } } } (gdb) print *actors_list[25]->calmodel->m_pSkeleton $34 = { m_pCoreSkeleton = 0x6a43670, m_vectorBone = { <std::_Vector_base<CalBone*,std::allocator<CalBone*> >> = { _M_impl = { <std::allocator<CalBone*>> = { <__gnu_cxx::new_allocator<CalBone*>> = { <No data fields> }, <No data fields> }, _M_start = 0x85a3510, _M_finish = 0x85a3648, _M_end_of_storage = 0x85a3648 } }, <No data fields> }, m_isBoundingBoxesComputed = false } To be continued... Edited July 11, 2005 by Wytter Share this post Link to post Share on other sites
Lachesis Report post Posted July 11, 2005 Nintenduh, That's because you're using a diff. map than what's on the server - it has a different heightmap, hence you'll appear as if you're in a different Z location. 178086[/snapback] Put the new maps into mapn/ and the old ones into maps/ and it should work perfectly for now. Share this post Link to post Share on other sites
Lachesis Report post Posted July 11, 2005 Wytter, your bug is probably caused by the display thread displaying an actor while the network thread is still building that actor. The best way to solve this IMO is to merge add_actor into add_actor_from_server and fill out the data structure completely before saving the pointer in the actors list, so you don't need a lock. Share this post Link to post Share on other sites