Ok, but if you will release in smd format, how you will make PT load it ? I mean, the current format PT loads is Binary Smd and not Ascii SMD. Unless you load it from a .ase file, then you can load your map.
Hopefully, i
Printable View
Ok, but if you will release in smd format, how you will make PT load it ? I mean, the current format PT loads is Binary Smd and not Ascii SMD. Unless you load it from a .ase file, then you can load your map.
Hopefully, i
Also uses Lua 5.0 library
Yes, Most Game.exe files floating around have SSLea linked in, and all the current ones (post-AOR anyway) use LUA for the attack particle effects. Why they are static-linked, I'm not sure, but WoW Static links LUA for the UI overlay and such, so that's far from the stranges thing PT does.
The "bits of" disassembler I find in many game.exes are not used, but I gather that this has occurred at some point in PE-dumping... it happens like that. I've not noticed it in official KPT downloads, but I've not really looked either.
If they are still their, I would suggest that a PE dumper is (for what reason, only Yedang would know) used in the Game.exe build process to create the executable.
I have for, some time, suspected that the original source code for part (if not all) of the client and server is lost.
The rummer mill would have us believe that PT was created by a bunch of Collage / Uni students in Korea for them to play. It ran like many LAN games, with one player hosting a game that the others could log into. Pre-AOR (Age of Renaissance) betas I remember playing would have been not far from that. The game was sold and commercialised, a login system bolted on, and a non-3D client adapted to be a dedicated server. However, the commercial running and developement of the game has changed hands many times since then. I remember seeing the Betas go from Triglow Pictures to something else (beginning with P?) to Yedang Online.
Evidence within the way the game works supports this theory, but I have never found factual information that would prove it. ;)
If it is even partly true, I would say that it's entirely possible that what the commercial organisations bought was not complete in source form, and some parts still need to be disassembled / dumped from executables; even by them! :scared: Either that, or they are at least static linked binary objects that have been generated by PE dumping.
I've been working on making a disassembly of the game.exe re-assemble in my spare time... (working slowly) and it's clear that there is a lot in the PE that is never used. You could null large areas of the file and see no adverse side effects. Particularly the assembly source code. :wink: If, and when I can get the listing to assemble and link, I have a profiler that can tell exactly which bits are not used, which are used, but don't need to be initialised etc.
However, my assembly days ended with DOS 5 and the 286 24-bit addressing. That was far enough from my Z80 beginnings for me to say "sod this lets learn C." :wink: I'm only really looking at assembling again (rather than messing with Olly or W32Dassem) because I've discovered that I can re-assemble small 32-bit PEs to 64-bit with GoAsm with very little modification. For small Windows Services, this reduces a 64-bit server the WOW3264 overhead. BUT... 3Meg of DirectX game is NOT a small PE. :?: I don't know if I will ever get it to work, but it's fun to try.
You, however, seem to be well on the way to making a complete breakthrough in the understanding of SMDs. I am very excited for you. :thumbup:
Many tks Bob
Regarding the disassemblement process.. Well.. i
hmm... sorry to hear that. My source listings currently stand a 24.5 Meg, including the Import and Export Tables that, I'm not sure need to be kept.
I've broken it down into Code, Data, RData. But much of the files are filled with DB 00h lines one after another which are just a complete waste of space and make the whole thing a complete PITA to edit. So I'm going through using some judicious S&R work to bum this down to something manageable.
Other than that, it won't assemble because the sections are not defined as .CODE or .DATA and will probably balk when I try, because of the Code sections which have fallen through as DBs... though most are streams of Nill Operations where security code (NProtect or XTrap) have been hacked out with a Hex editor I imagine. But some seem to be messed up jump tables.
If you are interested in what I have, you are welcome to a copy, just tell me how you'd like me to send it, as I'd rather not post it as an attachment since it's so messy. It comes from the 1871 No-XTrap game.exe, which has seemed to be the most stable for me. But if it's unlikely to be of assistance, by all means wait till I've cleaned it up some more. :lol:
Hi Bob
Yes, please, if you can, send to me the file.. Just use winrar on it, and put somewhere for me download it (rapidshare, for example)
I
That about the student, south korea supports schools to make students programing payment games like PT and Gunbound and so on. Maybe PT is just an student school project.
This smd crap is hard to follow, but i
[quote=Beyond2000!;5111056]The problem i
Hello,
Interesting topic, I can help but i prefer through msn, if you want to talk, pm me ur msn.
In the old rpt, a smd to ase converter was built to be able to move the old pre-aor town to the new game and place it on a new position in space, it converts the material list (also animated textures), vertex list, face list ,the list that aligns a material on a face properly and lights from lamps in the map. However it doesn't convert light map of vertices, that was simply fixed by transferring the lightmaps from the old smd to the new smd directly, lame but worked. It was written in ugly vb.net code and the app is about 2 years old
if u want, i can make a simple box to analize how the program transform the ase into smd, that will help to understand it, then i can add materials, light and so on
Your assumption of the school project is highly unlikely as Triglow pictures are Yedang online.
Also just a note about the reference between the ASCII format of the .ase's we use for 3D models and the .SMD's they are converted into do have some similarities. For example StrangeFay works for ChinaPT, who have level 200 on there server and 2 new maps, and is an experienced coder (not doubting you guys ;)) so there must be some kind of link between the conversion of the .ase or a set of rules that the game.exe follows to convert the files. The thing i dont get is why use so much jumbled crap which it sounds as if they were dumb enough to do, they obviously dont need half of it ?
anyway i hope this helped in some way lol.
peace!
Unzubaru!
Actually the assumption of PT being a school project is a very good one, seeing poorly done code of PT.
The 'jumbled crap' in SMD files are easy explainable, When PT converts an ASE to SMD it uses the stack, which is filled with trash data coming from previous use, this can be overcome by modifying the function that converts ASE to SMD, and put the following pseudo code at the top of the function after the ESP stack is subtracted for local use. This way there won't be trash data in the smd, instead it's filled with zero's.
Also, the assumption i read in this topic that there are 2 types of SMD is correct. One for models, one for maps. Maps don't store GEOMOBJECTS seperately and are build differently.Code:xor eax, eax
mov edi, esp
mov ecx, [size]
rep stos byte ptr es:[edi]
What I gathered, is that "programming" and perhaps even IT was *not* what they where studying. It was a pet project they (or at least one of them) sold to Triglow. Godda help the tuition fees right?
I felt happy with this description (though I can't remember the source now) because there are things done in the code that you are taught very early on not to do when you study programming. While it may be quick and simple, it makes the code unmanageable very quickly. But as I say... this is all hearsay.
Nice tip RagingYou. I know pretty much 0% about 3D but I believe what you say about "junk chunks" as we used to say on the Amiga, because I have seen this in Packet sniffing the thing.
Most nastily, if you auth up, then message or GM notice "Hi", all but the first character or two of your auth command is transmitted unsecured and broadcast to everyone who receives the "Hi". :s Morral of the story... Don't GM Notice "Hi" right after authing up. ;)
Reason? Each line typed in is stored in one memory location, and simply overwritten with the next. Nobody sees the rest of the old line because of the null termination byte, (ZString / C String form) but the whole flipping buffer is transmitted to the server, and then copied out of the server without any care for the extraneous rubbish in the packet. :( (and we all know by now I hope to be careful what we throw out with the trash if we want to keep our privacy)
You could also reduce your monthly bandwidth quota by using a specially designed proxy filter on the Server. If it doesn't get the junk, it won't re-transmit it. But that's a project for another day. ;)
It wasn't "Priston" that was the other name... something more like Periah or Pantheon or Perihillion only spelled odd, but they used the same Yedang logo, (nearly the same) and for a while the splash said "By P.... whatever" and underneath in small lettering "For Yedang" coz we where all going "Huh? What happened to Triglow?" I presumed it was sister or child companies, or maybe even buyouts and mergers. But all of that would suggest that it wasn't govt. backed sale... I would think? IDK, it is Korea, and I have almost no knowledge of their systems sadly.