Zaei, thats lookin pretty nifty. Wud it not be slightly better to shorten that, coz u know in C/C++ u get \i \n \a etc etc i fought \x01 was abit excessive ?
Printable View
Zaei, thats lookin pretty nifty. Wud it not be slightly better to shorten that, coz u know in C/C++ u get \i \n \a etc etc i fought \x01 was abit excessive ?
I changed it to \a =).
Z.
Now I'm the only one whose computer sucks :(
No, Im back to the TNT2. My friends new card is defective, so I dont get the old one =).
Anyway, I did a bit of work tonight (around a few naps =). I got a little bug fixed, and things are working pretty wel =). I need to add in command parsing now, shouldnt be very tough =).
Z.
Sas, you're not alone in having a sucky computer....:P
However, I've been sort of busy lately. Been working alot, and if not, I've been lying on the beach. I just cannot let the good weather pass and dont do nothing with it.
-What are you working on now, Sas? New site coming up soon?
-Zaei, how long until models will be tested? I need some info on what to do with the models.. AND have you written some more on the tutorial/article/whatever on D3D for VB?
See you later
New site, sometime, but will be up for the end of the summer.
hey, i ent been upto much recently.
Sas, is there anything non-networking that i can do that isnt too taxing and preferably in VB. do we need some stuff todo with the instaler sorting out ?
Igor, you read the first one, right? Ill see what I can cook up for you.
I need to rewrite the model converter, then I can test models out. I also need to implement skinned meshes, at some point.
Psy, working on the installer would be great =).
Z.
I will work on it once Sas has given me a general design for it and lets me know what its gotta do, ie a bit of a better explanation than b4 ;)
Okay, here's what the installer has to do:
1. Parse scripts. This is the most important. It should be able to parse scripts in a way that Inno Setup does.
2. Launch on tow:// command and parse address.
With these two, we can make install scripts, update scripts, config scripts, etc. But for now, a GUI is nice :)
Hey, the console works =). I can add and call functions, and also define classes, create objects, and call object member functions =). A class would look like this:
You can then create an object of class x, and call the member doSomething(). Parameters are checked for type and correct number, so it is pretty type safe. The member x() is the class's constructor, which is called when the object is created, if it exists(you dont have to have one =). It is simply a function name that is the same as the class name. I chose not to have a destructor, since only simple data types are allowed, so there are no pointers to clean up. The data types allowed are string, float, long, and int (same as long).Code:class x
{
function x();
function doSomething(string, long);
long some_data;
};
Z.
Zaei thats lookin infty, heh, cant wait to see it all in action and making the game work kick-ass :D
Cheers, i knew of that installer but forgot the name, i shall grab it and check out the script system.
When you say scripts, how do u want it to work. say like tow://crystal-rain.com/config-script.tws and the software downloads and runs the script or what ?
I will make it check when the app starts what type of script it will be getting and create a Gui for each type. i will do the Gui for the main install of the game first.
tow://script:crystal-rain.com/script.tws
tws = times of war script.
The only problem is that were using the tow:// method to launch game servers which could be a slight problem so what i will make is a general url handler,
it will be like tow://function:address where it parses out the function and so i can make it run the games exe and goto a game if its tow://game:127.0.0.1/ and then we can have tow://script etc etc.
Sound ok ?
Check the Who Posted for this thread, it says Jethro has posted 900 times :confused:
Jethro has no doubt acquired Zaei's old ID!
That would be annoying... Im trying to get my accounts merged, and that would make it a bit more difficult =).
I am leaving on yet another vacation this evening, though I will have internet access through Wednesday, so I will be able to work on the DScript compiler, some, but not much. I am probably going to rewrite it, to use the new string_tokenizer class, to make it even easier =).
I got object constructors working last night, pretty nifty stuff. I also got class data members up and running, so the console is pretty much complete =).
Z.
okies, i have started on the hub, its called towHub.
i have it so every time u run it it changes the registry keys to point to the application so it shud always work.
the problem is....
....how is the install going to work ?
do u want it so the proggie donwloads the files and sets them up on the PC ? tho this is crap for slow connections!!
Plz get back to me with more info on what and how this shud work. i cant work on Gui really until i know how its gonna work.
We'll have it download only the files you want. Also, we'll have the option of no user, so it can download overnight (no user intervention required). This is the best way for slow connections (seeing as, if all goes to plan, this app will be ~100kb).
I still think this is a really poor way to go about this.
a) if the app crashes, this cud be an arse.
b) the game size, on a 56k it cud be a right pain for some people to get, programs like gozilla make getting a file so much easier.
c) think of the fine normal conventional way of doing it.
d) i think were making this way too complicated for ourselves.
I think this should just be donwloaded and installed as per any normal game. the installler then adds the reg keys for the towHub to work which can be used for future game launching from a web page or other such things.
The API Download calls allow you to get any chunk of a file that you want. If the app crashes, simply start from where you left off. I think that it should work fine.
Z.
I'll look into them.
URLDownloadToFile() I believe.
Z.
If you think about Psy, this way will be better for 56k users -
1) Small downloads (get MIDI music, low-poly models, etc.)
2) Resume file transfer
3) Plus, we could just add a full-tow install package, which comes with the hub like you said. In this way, people that like the conventional download can do so.
4) I have thought of the conventional way and it has no future :D
ive got info on that API call im just looking into using it (ie how to specify the bits to get) it may be easier to do this app in C++ so i shall see. the UI is easier in vb tho so i shall probably stick with that.
Sounds good. If you need any help, I'm good with the API :)
okies, i got the parsing done of the command line. heres how its gonna work:
1) Customer goes to the web site, downloads this small application.
2) They run it and it pops up and lets them know its ready to run.
3) They return to the web site and (this is where we could have some kind of key activation serial thing based upon the players username/password) enters a key if neccesary (if we implement something like that), the wage page gives them an url to an install script, something like:
tow://install:www.crystal-rain.com/install.tws?id=b2123
the ID cud be generated in step 3 and used so that when they click this url it loads towHub and donwloads the script. using this ID system could make it so the server generates scripts as and when needed that are changed for each user, like including their username etc and makes it a bit more custom.
When the install process is complete the user can then goto a section on the site and a game url can be used:
tow://game:address:port
This should work nicely, ill work an a GUI today, if u want me to make it generate a unique key based on a username and password then let me know!
okies, addition to what i said last.
1) They donwload it.
2) The run the hub as its running for the first time the hub pops up a register dialogue. they enter a username/password and click register.
Is it possible for you to create a page on the server where by i can make the app pop-up a web browser and goto a site on the server wherby i pass a username/pass and software key, the server then generates a user key if the user/pass havent been taken before, the user enters this in the app and then its ready to use. the user key can also be their method of id for later use.
I need a Disclaimer or EULA or something!! its gonna show before you register and again before you install!
okies,i have the registration system in place. all i need now is some kind of code that is unique to every pc. maybe some kind of windows version code ?
okies, im using the windows product id as apears on the control panel on the System tab ;)
Maybe we should just increment their IDs starting with 0, or better yet, not have any. This would put an unnecessary load on the server every time a person registers and plays, and I don't have that kind of bandwidth. And about the EULA, we can create it under a general lisence. Since we are distributing the source code anyway, so that people can make mods and stuff (or that's how I've heard it) we could probably release it under the LGPL (Lesser General Public Liscense).
But that will come a bit later :)
And do you NEED a code? What's the purpose?
Well, seems like you guys have been busy while Ive been out =). The server was down all last night, which is the reason for the lack of posting. I have been doing a lot of planning, mostly on how I am going to bind real objects to console objects. At the moment, I am planning to have objects derive from a class that has a member that takes a function name string, and a set of parameters, and simply handles them. The console would sit above that, and when it recieves a command and sees that the object called is bound to a real object, it parses out the function name and sets up the parameters, and then calls the real class.
Also, I have been thinking about terrain paging, and it should be fairly simple. Also, on how to limit the camera to only the map.
Anyway, everyone keep up the good work!
Z.
okies, i removed all that **** then.
I have the Background, Welcome and Directory screens done, i shall have the gui done by the end of this week as im out tomorrow and the day after. Then i will get it downloading files. I need to know more about the URLDownloadToFile() as in specifying which bytes to donlwload, or shud i make it download whole files at once?
Gui is complete and ready for me to design up our scripting system for the installer and we'll be rolling :D
Sas, shall i mail you the application so far so you can see the Gui and let me know what you think ?
okies, i have been looking at the package and deployment wizard and after ages of blind looking i found the function that creates niec reg keys to make it so it will add out app to the Add/Remove box and run our own uninstaller :D
Good job Psy! Post a screen shot? Id like to get a look at this thing =).
Not much going on on my end, will do some more work on the compiler later =).
Z.
Zaei: I'll email it to you. It's ingenious :)
Darn vb is such an arse, there is no VB style break command is there ? as far as i know not. i have got the script parsing working well.
it skips blank line and comment lines
Sas, heres what a scipt will look like (Based on an install script):
I have included the [Server] block as this allows users to create their own scripts for mods etc and then we cud host a script yet it still points to the correct place to grab the files from.Code:
# Main block
[Script]
# The script type, could be patch, config etc etc
Type=Install
# The script version
Version=1.0
# The default directory {Program} = Program Files
Directory={Program}
# The default Group on the start menu
Group=Times of War
# Details about the application
[App]
# The system the user must have, cud include RAM, CPU OS specs etc
System=Windows98
# The version the app is being patched to / installed, can use to check if already got
Version=2.0
# Server to get files from
[Server]
Address=http://www.crystal-rain.com
Port=80
# Files to be installed
[Files]
# Total files to be installed
Total=1
# Souce, and Destination
Source: {server}:{port}/Install/tow.exe; Dest: {app}/tow.exe
[Registry]
# Still working on this
Listings under the [Files] block may have a Flag: parameter which can either be:
Readme (file to be read at the end of installation)
License (License shown during installation)
Run (File to be run at the end of installation)
Register (File to be registered - ie a .dll if needed)
The {} tags are replaced at run time with the correct data:
{app} = root application path
{windows} = windows directory
{system} = system drectory
{program} = program files directory
{server} = server files are from
{port} = port of the server (80 = default)
Ill see If I can get it =). Sounds fun =).
Psy: break in VB is Exit {block type} So, in a for loop:
Or a While loop:Code:For i = 0 to 10
if i = 5 Then Exit For
Next i
Works for Subs and Functions as well, as a return statement.Code:While true
if x then Exit While
Wend
Z.