JK Patcher & CogExt.dll
Monday, August 21, 2006
Yes, read Zeq's wise words below, for I am knee deep in job, bills, and new home upkeep.
May the... Patch?... Be... With... You.... >.>
I have convinced Hell Raiser to let me merge JK Patcher stuff in with JKLauncher and let the patching stuff be done in the Jedi Knight Unofficial Patch project.
Thus, this project will not be worked on directly, but instead CONTINUED in other projects. Please post in the other two projects, and not in this one.
Sunday, April 30, 2006
Just a quick update to let you know how the cogext.dll coding is progressing. I've written the thing array accessing functions for coding new verbs, and have left in their cog verb equivalents. I've also gone around and cleaned up a lot of the code, utilizing the thing array functions, and also implemented constants for the known properties. Some more research is needed on my part to clarify some of the properties though.
Since OnFrame() has been implemented to be called at the end of the cog processing loop in JK.exe, I've got a few verbs to code utilizing that. SetThingModelScaleTime(thing, start scale, end scale, time to reach end scale) which will obviously scale a thing over a period of time. Then there's my need for a new attach verb, which will solve a lot of problems I've personally had with using JK's attach verbs and flags. I've got a method for it that I believe JK doesn't utilize. OnFrame() really opens a lot up, and can take away the need for a constant pulse to achieve certain things.
I still have a few verbs to code in that I've said I would, like SetThingPosEx(Thing, Pos, Sector), various template parameters (Pup, snd, drags, etc), and I'm also waiting on Frequent with his MP3/ogg/etc music playing verbs.
Also, it's worth mentioning that I've implemented all the JK Vector functions that you can shake a stick at. Well, except for VectorX/Y/Z, because when coding in C++ you can just use MyVector.X/Y/Z to access those values of the vector.
All in all things are progressing quite nicely. However progress will be slowing down for the next few weeks, because of a temp job that I will be working full time.
Sunday, April 23, 2006
We now have JK.exe calling cogext.dll every frame. (Well, not every frame, just at the end of the cog execution loop, which is just as good)
What does this mean? Well, quite simply, it means that verbs that need to affect a thing all the time, or need a time specified to achieve the desired effects in, is now possible. For example:
SetThingModelScaleTime(thing, start_scale, end_scale, time);
Or more a more functional Attachment verb, or even, well, other things. =)
Expect an update to JK Patcher, with a new cogext.dll for download soon.
Monday, April 17, 2006
GetThingProperty and SetThingProperty are up and working, the base for new thing modifying verbs and other array modifying verbs. (Sector, surface, model, etc)
I have started a thread for verb requests here.
Saturday, April 15, 2006
Well, good thing I didn't upload what I had, because it wouldn't compile under VC6.0, and when I got it to compile, JK Crashed!! =S
I have corrected this and uploaded the VC6 and VC.Net sources.
If you succesfully implement any new verbs, please send me your main.cpp file so that I may update the source files accordingly.
The first new verbs on the list are from the maker of XTension! He's adding XTension functionality via new cog verbs! Expect a release soon. =)
Please list any additions you make in this thread. Please note helper functions to access the various arrays do not exist yet. Feel free to take the info gathered on the forums to help us out and make them. =)
Thursday, April 06, 2006
If you would like to take a peek at the cogext.dll source, just reply to this thread and I will use the email addy in your hub profile to send it to you.
It is my belief that the current state of the source does not warrent 'open source'ing, because it is not yet easy to add new cog verbs. That is, if you know some C/C++. There are still some helper functions missing to access the various arrays (things, keyframes, models, etc) that would make coding new verbs pita-free.
Friday, February 24, 2006
Nab it from the downloads section!
Wednesday, February 22, 2006
I finally solved my problem with the self-extracting rar files! Huzzah!
However, I completly forgot to add in support for the Adjoin/Thing Limit patch (Different from the Adjoin/Thing/Extended Cog patch), because when I started JK Patcher, I did not know that the A/T/EC patch would cause the checksum error to happen when joining a game hosted with regular JK or Thing/Adjoin patched JK. Regular JK and Thing/Adjoin patched JK are compatable with each other. What makes the T/A/EC patch special is the added cog verbs, throwing in more variables for checksum to check.
So, LOLCAKES!!1!! on me! >_<
That, and JK Patcher won't be out for another 48 hours. I promise, 48 hours and it'll be available. Really, I promise. I never make promises I can't keep, and when's the last time you've ever seen 'promise' typed by me? ;)
Thursday, February 16, 2006
Well, as of right now, there is only ONE thing keeping JK Patcher from release. Apparently, there's some VB crap that needs to be worked around, and I'm too tired to implament it at this moment in time. Hopefully in the next 24 hours, you shall see a news post, telling you that the latest and greatest JK Utility is available for download.
Anyway, Mozeltoff and Kanichiwa stuff. >_<! Goodnight.
Friday, February 10, 2006
Well, after handing a beta out for someone to test, and having to go through a pain staking debugging process, only to find out that my display settings interfered with some design elements, I finally got it all working.
Then I had to finalize some things with the downloading system, only to find out that you shouldn't open/put/close on a file in a function that can be called lots of times, before the HD even has a chance to close the file. Now I've got that working smoothly. I even went as far as to have downloads be self-executable .rar files, for maximum compression and ease of updating.
Once I finalize some code for running the rar files, and copying the updated files to where they need to be, JK Patcher should be ready for release. =)
Tuesday, February 07, 2006
I have uploaded some new screenshots of JK Patcher, the program destined to keep the JK community up to date with JK.exe patches. JK Patcher will patch any version of JK.exe, and is guaranteed to work. =)
Friday, February 03, 2006
Thanks to Sige, we can now implament new cog verbs in JK via an external DLL. This project page will serve as the 'official' download for the CogExt.Dll.
The beta and source will available here as soon as uploading files is working again. If you wish to add new cog verbs, you may try, but you might want to wait untill we have documented all the neccessary things:
Thing array location
Thing property offsets
Stuff of that sort
The beta has 5 new verbs you can use in JK cogs:
GetPlayerPitch(); //returns local player headpitch in degrees (limited by min & maxheadpitch in template)
GetPlayerLVec(); //returns local player headpitch as an LVec, so using FireProjectile and grabbing the LVec of that thing is obsolete now
HeapSave("Pathfilename.ext"); //Saves the calling cogs heap to the path and filename specified
HeapLoad("Pathfilename.ext"); //Loads the heap into the calling cogs heap array. Automatically creates heap, returns 1 for success, 0 for failure.
HeapSize(); //Gets calling cogs heap size