(06-17-2013, 02:13 AM)xoft Wrote: Well you did erase those two functions from the cpp files, no wonder the linker can't find them
Thanks. Didn't noticed I deleted them.
xoft Wrote:Also, you pasted the function declaration in the header file right under a different function's doxycomment header, you need to update the doxycomment as well
(doxycomments are the ones starting with triple slash, "///", and they're used by doxygen to generate the documentation, as well as VisualStudio to give you tooltip hints on the functions.
Yea I wasn't realy focusing on the documentation
So.. I have it working now but I now need to know where to put the cWorld::BroadcastExperienceOrb function when a entity gets killed.
06-17-2013, 02:42 AM (This post was last modified: 06-17-2013, 03:54 AM by xoft.)
You really need to update the documentation as soon as you touch the functions, otherwise you will forget, believe me, I've been there. It pays to be stringent with self about this.
Similar thing - before committing anything, check the changes you made by comparing each file with the original (dblclick in TortoiseSvn's Commit dlg). I've almost committed so many blunders, this saved my dignity
The exp orbs will be spawned client-side, but the server won't be tracking them, you need to first create an object (a cEntity descendant) to represent the orbs in the server. Then that object's SpawnOn() method should call the SendExperienceOrb() function.
..\source\Mobs\Monster.cpp(209) : error C2664: 'cWorld::BroadcastExperienceOrb' : cannot convert parameter 1 from 'cExperienceOrb *' to 'const cEntity &'
2> Reason: cannot convert from 'cExperienceOrb *' to 'const cEntity'
2> No constructor could take the source type, or constructor overload resolution was ambiguous
Still, this is no good - you created an XP object and then forgot about it. The server is leaking memory. You need to add the XP object into the world's list of entities, so that the world object will keep track of it and eventually destroy it.
Finally, I got this megacommit off my chest. I've more or less rewritten the entire furnace entity, and it was pain in the ***. Who would've thought furnaces are so complicated?
Note that the furnace.txt file has changed, too, the time units used are different now, so unless you want to spend ages waiting for items to smelt, you need to update yours to the svn version, too. Furnaces now use integral ticks, rather than seconds, to measure time for smelting and burning.
I need to rewrite the TNT code. Right now, the cTNTBlockHandler makes the TNT block "usable", so that it can detect a "use" by FlintAndSteel. However, this disallows placing any block by clicking on the side of a TNT block. So instead, I'll make the cItemLighterHandler aware of TNTs, so that using a FlintAndSteel will ignite the TNT, not the TNT block by itself.
(06-19-2013, 04:53 AM)xoft Wrote: Minecraft client just decided that I'm not worthy of logging in. It's just stuck on the launcher screen, with "logging in..."
I also had this error, only with MCServer, hosted in the same computer I have minecraft. Now it works.