General Category > General Anim8or Forum
WEEHEEEE oh, oh wait its dead, I thought it was dancing (CRE8OR NOTICE)
VirtuaroidPilot:
Cooldude, can you send me your copy of Dylan 64 and tell me how I can get it running on my windows 7 laptop?
cooldude234:
GRR! I just made a post and it didn't even send. Some how it screwed up and didn't send so here is my attempt at rewriting it. GRRR SO ANGRY!!ANGEEEEEEEEEERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR!!!
So the only thing I can suggest if it doesn't work on windows 7 is get virtual box and run windows xp through it.
So lettme just find it...
Oh here it it is V2 *playing it*
Woot 2009!
I still don't understand why the dog keeps saying barf bag.
I don't remember this much animal abuse (I just kicked a cow off a cloud, and then threw it in a pond :P)
Ah that was a fun few minutes.
Oh and just for the record... PHONYYYYY!!!! ;p Nice to see you back Nintendogamr123
Linky Link: http://www.mediafire.com/download/ismkq00ynvdr02s/Dylan64v2.zip
cooldude234:
Oh silly me, I forgot to write the follow up post.. well better late then never.
OKAY, time for a news broadcast.
What I have been doing on this project recentlyAbsolutely nothing.
Reasons why I have been doing absolutely nothing on this project recentlyWell I just finished building my new machine for the most part (I'll have a different post containing details on that), and I have spent a lot of money, time, and effort into it; and the change over (software wise) was a bit more of a hassle than I wanted it to be (looks like windows xp is really nearing it's final days as driver support dies out <- the only reason why xp is dieing). Also work (that I am so glad I finally have) has been temporarily arse backwards due to some very Canadian weather and has screwed with my sleep scheduled. But with that change now mostly over and work getting back to normal, I have reset up my programing environment and am ready to get back on track with this project.
So what now?Well I am going to focus on what I know I CAN DO and do that first. Since the dang ray collisions still aren't working I am going to work around them until I get them working (I think I am cursed when it comes to these rays, they won't collide correctly for my freakin life >:( ). SO this means that I will be working on the scripting engine a lot, and implementing the primitive functionality I have with it.
Basic things such as distance formulas (spherical collision), basic statements (if, and, or),simple formulas and basic modules (obj loader) will be implemented all into one and accessed through the scripts. So the goal is to get something simple, maybe not practical or totally useful but rather something functional out as quickly as possible so the project will have a better stepping stone to work from, and be in a better state than what it is in now.
Really the only two things that need to be worked on to get this basic functionality I am looking for is the script engine itself, and the application to edit the scripts (the second half is less important as you could script using something like notepad, although not practical it WILL WORK, I WILL MAKE IT WORK [PERIOD!]
I am not going to let this project fall or fail or break or blowup, it has gone to far to just leave it at this point and I made a promise (some where along the ways I did) to finish this project(or in other words, make a equivalent to better version than the original). And I will do just that [EMPHASIS ON THE PERIOD!]
Thank you for keeping with this project all the way through (if you have, and if you haven't thank you for trying (and if you haven't tried then, uhh SHAME ON YOU I think?)).
cooldude234:
The Scripting Language Takes ShapeSo made my own tokenizer and parser completely from scratch simply because the functions provided with C++ to do such a task weren't enough for what I need, and all the libraries out there didn't fit what I needed either. Long story short I have made a set of functions to do what I need.
So what does this "tokenizer/parser" do?
Well it can differentiate between spaces, brackets, or any set of characters (and without any bulky extra code!) and understand what it means essentially.
So when the parser runs a script it will check for any delimiters (such as commas brackets end-lines etc.) by reading character by character, and once found it can do a certain task. For Example the first line in the example script below says Use_double_buffer; the semi-colon on the end means the end of the line. So when the parser reads each character and finds a semi-colon it runs the function that it read from the start to the semi-colon.
To put it the simplest, it reads much like us humans do, but much more technical and "computery".
--- Code: ---Use_double_buffer;
New Texture CharTexture;
New Model CharModel;
CharTexture = LoadTexture ("testTextu.bmp");
CharMode = LoadTModel ("testModel.obj");
Main_Loop
{
SomethingFunction;
UseTexture (CharTexture);
DrawModel (CharModel);
UpdateScreen;
CheckEndCondition;
}
--- End code ---
As you can see from the test script above that I have been working from, you will be able to do things such as control loops and more. However incorporating this into the editor will be interesting. Because the original cre8or had drag and drop functions which a lot of people enjoyed using (like myself) as it was really easy to get into as a beginner. But it'll be one step at a time I take.
ERROR HANDLINGBasically if you have an error within the script the engine will still run so as long as the engine didn't receive an error (like a bad memory allocation for reading and writing from the ram). Meaning if you have an error the parser will know about it but continue. However I can make it stop the script, but I'm going to be making a function to let the user decided what to do. It will be simple as this GetError(ErrorHoldingVariable); which all would do is a hold a value which represents which error case it was.
EG error case 1 would equal bad syntax (in other words you spelt something wrong), or error case 2 could mean missing parameter or even missing texture (like the file is missing or something).
If it was done that way then the user could script a function that could make a pop up saying error, or have a function that would work around the error and let the code continue.
Anyways I gots to gets to beds, I have less than 5 hours of sleep for work tomorrow :S
Anyways, Happy late family day everyone!
cooldude234:
I decided to do some test on my new tokenizer which cleans up the code a bunch.
So I compared my function to the C function for tokenizing (which I was using before) and I loaded up the config I had made (which is about 10 lines long) and tokenized every line. I did this for 100,000 times and measured the time it took for both functions to do this.
So 100,000 files being loaded up (10 lines each) and tokenized takes 3.218 seconds to do using my function. Whereas the C function takes 0.891 seconds to do the same. Now to be fair my function is a bit more flexible, and makes the code look neater; but this is no excuse for having slow code. So there is optimizations that need to be made, but to be honest this is the first time I have no clue how to optimize a function that I made in C++... THE FIRST TIME.
So it feels a little strange that for the first time I have no clue how to optimize something (as I been working on C++ for about 3-4 years now), but it's not like the function is ridiculous slow so I won't bother with optimizing it right now, getting functionality working is my priority.
A little extra insight, I will be adding a script function to give access to the tokenizer so writing and reading files can be more useful to the user. I will also be making a separate function to handle tokenizing for the scripts a bit better, and that may be accessible as well, but we'll see about that when the time comes.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version