|
Post by TinyTerror on Oct 8, 2005 22:48:57 GMT -5
It wouldn't do you much good without the source code. You sorta need to know what the functions are, how many arguments they take, and what they do. I wish I could release it earlier, but it wouldnt make much sense. I'll get some basic docs out asap. Maybe before the alpha so people can start writing scripts.
Before anyone asks, lunar will be a closed source project. I am using too many people's sensitive code in it to make it open. The potential for abuse if the source code got out would be HUGE.
|
|
|
Post by TinyTerror on Oct 9, 2005 23:45:48 GMT -5
Quick update for anyone who is reading. As of now, the control, windower, and graphics libraries are good to go. The core is relatively stable with the exception of a few known bugs that are getting worked on tomorrow. The only thing left is the FFXI library that supplies lunar with game data like life and HP. It uses the same FFXIRead.dll as autoterror did, and I'm having the same issues getting the damn dll to load that I did before. *Sigh*
I guess its for the best. FFXI is getting a patch tonight and will be cloged tighter than a drain full of hairballs for the next 24 hours. The patch is also going ot fuck up the memlocs rather badly. I guess its time to see how well starhawks adaptive memory code is! In theory FFACT and ffxiread.dll should auto-adapt to the new memlocs without any help, but thats just in theory. Anyway, with the combination of the patch, the associated POL problems, and dll hell, I expect the lunar alpha to be pushed back to at least midweek. Its a mixed blessing because it give me more time to write documentation. A release is no good without the docs to tell people what the functions are and how to use them.
There are a hell of a lot of functions to document too. At last count, I have written exactly 100 new functions accross the four lua libraries that make up the functionality of lunar. I have plans for at least another 75 to 100 GUI and control related functions once the alpha is thoroughly tested by you guys.
It wont be too much longer now. Everything is looking totally badass.
|
|
|
Post by TinyTerror on Oct 11, 2005 10:21:16 GMT -5
I finished with the basic function documentation. It covers all of the functions in the Windower, Graphics, and Control libraries. The FFXI library isn't covered yet because it may change between now and the alpha release. Here is a link to the doc. lucidsoft.org/~toast/lunar.txtStarhawk and I are still having trouble getting the FFXI library working. Some custom code is going to have to be written, and the alpha cant be released without it. So expect another week or so worth of delay -_-
|
|
|
Post by TinyTerror on Oct 12, 2005 13:49:10 GMT -5
Alright, I talked to starhawk and we both agree that a release by sunday night (october 16th) sounds doable. Barring some sort of code disaster, I should be able to release an alpha by monday morning. Wish me luck
|
|
|
Post by TinyTerror on Oct 18, 2005 22:26:32 GMT -5
So yeah, sunday has come and gone with no Lunar >_< I'm still waiting for starhawk to cook up some memory code for me, but he is having some dev environment problems, so I told him to take his time. These delays are a real blessing in disguise I suppose. They are giving me some badly needed time to polish the Lunar core, and add features that will make lunar easier for people to use. An example of the new features is the script auto-unloader. It automatically unloads scripts that are done or have errored. This may not sound like too much, but it really does make sense. Tonight I kicked the crap out of the oldest bug in Lunar. The problem was that if you exited Lunar while you still had scripts running, ffxi would blow up. This was obviously a very serious problem. The auto-unloader helped a bit, but was not a complete fix. After somewhere in the area of 5 hours of hacking at the code, lunar now exits smoothly even if there are scripts running. I did this by hooking the line execution event in each Lua scriptrunner. The hooks made it so that I can gracefully shutdown scripts. Normally clubbing a script like a bay seal mid execution is fine, but not during plugin shutdown. Now that I use this new method, the problem is solved. The implimentation is a bit of a kludge, but it works, and thats all that matters. Its times like tonight that I am extremely thankful for the dual opteron workstation sitting behind my desk. Trying to compile code while playing ffxi on a single proc box would take FOREVER. My box might not be the best at running FFXI, but when it comes to doing a billion things at the same time, its a monster
|
|
|
Post by TinyTerror on Oct 22, 2005 12:55:04 GMT -5
Well, its another weekend of code for me. Im trying to put the finishing touches on Lunar as I write this. Here is what I plan to do today: *Find out why ffxiread.dll refuses to load. *If I can figure out why it won't load, fix it. *Once memory stuff is on lockdown, write docs for it. *Get a working release build. If I manage to get all of this done, it will be time for a public release
|
|
petar113507
Full Member
Damn Straight. I Am the king of waffelagia.
Posts: 166
|
Post by petar113507 on Oct 22, 2005 18:06:14 GMT -5
Nice work with all of this tiny!
Hey Tiny, Are there any books out there on LUA that can refer me (And/or) other people who want to learn lua the self-taught way?
Refrences to anybody, or anything would be nice (Except the Lua.org one. Looked there already. It didn;t help me out very much.)
|
|
|
Post by TinyTerror on Oct 22, 2005 18:36:14 GMT -5
I wish I had more in this department. Most of the work I have done with lua so far has been on the backend engine stuff. I have next to no exp with actually writing lua code! For backend work, the book on the lua website is top notch. From what I have read of it for normal lua scripting, it seems ok. I will post any additional links that I find useful as I find them. Its really sort of funny. I have been hacking at the guts of lua for months now, and am barely even a novice at writing lua code >_<
|
|
|
Post by TinyTerror on Oct 22, 2005 18:46:15 GMT -5
Well, time for another progress update. I found out why the memory stuff wasn't working. It was some really strange casting issue on the pointer to the main ffxiread interface. Its working now. I also figured out why the release build wasn't loading in the windower and fixed that too. Im going to finish up the alpha tonight, write some docs and demo scripts tomorrow, and release tomorrow night! A download should be available either tomorrow night or monday morning. I will be releasing it here, the windower forums, and maybe the ac tools forum. That should give me a good pool of testers. I'll release it here first of course
|
|
|
Post by TinyTerror on Oct 23, 2005 18:28:29 GMT -5
I'm eating my words again. I really need to stop doing this.
Lunar is not getting released tonight, and not likely next week either. I cannot get FFXIRead to play nice in a multithreaded environment. I think its a COM issue. The problem is that the pointers I make for the FFXIRead interface become invalid when called from another thread. So basically I can get all the game info I want anywhere but where I need it. Yeah, I could force it to work by grabbing all the memory data at once and caching every few frames by putting grab code in the prerender function, but that is the kludge of the century. Doing that would also have a negative impact on game framerate. I would rather do it right and release later rather than shitting out some awful hack just to release now.
To get this to work, I could do several things. I could instantiate a new ffxireader for every thread, or I could get a native C++ memory lib from starhawk. Given that the docs I would need to do it for the first option are not comming up on MSDN, I'm going to opt for the second option. I am so fucking sick and tired of dealing with COM. It needlessly complicates everything, and is a poor solution for Lunar. MS can go cram it up thier greasy assholes. A C++ static lib for memory reads would be faster, and a million times more elegant and easy to deal with than ffxiread.
I'm sorry if I sound frustrated. I've spent close to 16 hours coding already this weekend with only a stomach ulcer and a headache to show for it. Once the hurricane is finished destroying floridia, I will get in touch with starhawk to get work started on the new memory code.
|
|
|
Post by TinyTerror on Oct 24, 2005 11:54:10 GMT -5
I wrote a threaded FFXIReader lib this morning that should effectively isolate all the COM bullshit in its own thread. Hopefully it will work.
|
|
|
Post by DarkAquaus on Oct 24, 2005 12:51:40 GMT -5
Nice
|
|
|
Post by TinyTerror on Oct 24, 2005 17:31:31 GMT -5
The new memory code is confirmed working in scripts
|
|
|
Post by TinyTerror on Oct 24, 2005 17:42:48 GMT -5
Once starhawk gets online, I have a few questions about the chat functions for him. I need to put together a way for multiple scripts to share chat output without one grabbing all the lines before the others. Should be cake.
|
|
|
Post by TinyTerror on Oct 25, 2005 20:39:00 GMT -5
Chat stuff is working. I spent the evening figuring out the chat functions in ffxiread, decoding the output, and scrubbing the garbage characters out of the raw chat text. It's a pain in the ass, but its going well. On a lighter note, I was in the middle of testing my scrub code on NPC chatter when I found a tarutaru in windurst that made my pc speaker beep whenever I talked to him. This happened because I am outputting raw chat text to the debug console, and one of the garbage characters in the taru's reply was the bell character. Whenever you print the bell character in a DOS console, it makes your PC speaker beep. Kinda funny Oh god I'm a giant nerd.
|
|