Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About GamerGuy

  • Rank
    Cabin Boy
  1. Hi @V3ct0r as you can see in the previous video I posted the problem was indeed with one of the .map/.atr/.blk files I have since redone the map and everything seems to work correctly now, the only problem I've experienced is placed objects in editor aren't persisting so when I close editor and launch game the map is still empty, I am however focusing on rewriting the server scripts at the moment so I will solve that when I get there. Thanks to everyone that helped me get this far! Very glad this community exists to keep this memory of ours alive!
  2. I've seen that yammi's .atr generator has a disclaimer that it was under development so might not work correctly and was advised by Angelix to use Matt's Map manager for the .atr files, I have generated both .atr and .blk with both and the .blk has it's header in both cases, setting the width and height to 512, the rest is all 0 indicating no blocks, 00 02 00 00 00 02 00 00 00 00 00 00 00 00 00 00 the .atr from both yammi and top map reader by matt are both the same, I am still reversing the code to find out what is where but from source it's clear the block comes from .blk (except if client side .map also implements some type of blocking?) I have used the "Remove blocking" button on top map reader by matt and saved everything again and this also doesn't work, thanks for helping me think guys this has been driving me crazy for almost 2 weeks now
  3. Yep have changed the strings and compiled the translation .res, the init log is without errors So I tried in a clean clone and build with the added map and added lines in birth_conf, ScriptDefine and maplist This must mean the problem is in yammi/map manager or I did something wrong in them?
  4. @Mdrst Hi thanks for the interest, I have made a video here
  5. I have cloned the project from dequix and removed the hardcoded garner, magicsea, etc in the sources to read the birthmaps from the groupserver.cfg file, created a new map with yammi, exported the .map and .blk from yammi, used matt's map manager and exported the .atr, made the new map the only map in the server and client and changed all the lua and configs to reflect that, I can log in and spawn at the map, now the problem is I can only move in the x axis and not in the y? Is this a problem of yammi, map manager or did I maybe break something in sources?
  6. This seems to be a bug from CEGUI itself, it seems to be failing an assertion on line 71 but since I have no idea what version of CEGUI was used it won't be the same as the current one. Singleton( void ) { assert( !ms_Singleton ); //either here ms_Singleton = static_cast<T*>(this); } virtual ~Singleton( void ) { assert( ms_Singleton ); ms_Singleton = 0; } //or here static T& getSingleton( void ) { assert( ms_Singleton ); return ( *ms_Singleton ); } //or here This could be because it's not null when creating the singleton, is null when destroying or null when getting the singleton but unfortunately that error message doesn't have anything to do with top itself so its hard to say where in top sources the problem is, maybe see if any other logs have some info?
  7. Aha! I think I might have found out myself! So I started looking for a place that sets the function to call inside the binary and came across this loc_46FAB2: mov dword ptr [eax+94h], offset loc_46F770 //eax must be the offset for the CTextButton object and thus eax + 0x94 must be the offset for function mov this, [esi+4] mov eax, [this] push offset aBtnlefthair ; "btnLeftHair" call dword ptr [eax+48h] test eax, eax jnz short loc_46FB01 I'm thinking this is right but otherwise feel free to correct me
  8. Thanks alot for the fast reply! May I ask how you came upon this address? I've been using ida for looking for the addresses but I can't seem to find it (I am mostly a noob with reverse engineering tho)
  9. I found @V3ct0r's pkodev modloader quite a while back and had no idea what I was doing at the time but after some playing around and creating a few "test" mods, I absolutely think this is the best thing to happen to precompiled ToP binaries in forever, however I started a new project fixing and adding new forms ingame when I hit a roadblock. While most of the classes used in ToP are easily found with Ida I could not find CTextButton and a few others at all only the address for their procedures, I would think the class would've been recoverable as a struct that I could recreate and have functions get called when it's clicked et cetera. Would I just need to recreate the class from source?(but then with vtables?) I'm a bit lost at the moment and any help is appreciated! /// gui::CForm* frmTest = gui::CUIInterface::Instance().FindForm("frmTest"); if (frmTest != nullptr) { CTextButton* btnTest = frmTest->Find<CTextButton>("btnTest"); if (btnTest != nullptr) { btnTest.evtMouseClick = ClickTestButton; } } /// void ClickTestButton(CGuiData* sender,int x, int y, MouseClickState key){ //Do whatever } I suppose this question is more pointed to @V3ct0r but I'm happy for a response from anyone with the knowledge
  10. Everything works until I get into the game I can't enter it says there's a game version error I need to download the patch? Anybody have a working link to the patch?
  • Create New...