Sounds good, using my module ?
Printable View
Sounds good, using my module ?
Yup =).
Z.
Ok, I need to do some thread proofing, and a couple of other things... moving along, though =).
Z.
Need to move some code around, going multi-threaded =). Wrote up a nifty thread object a few minutes ago, and a mutex object earlier, so we wills ee where this takes me =).
Basically, I want to move some stuff over into other threads so they canw ork while im rendering. Things like data loading, so I can print out live log data, etc, etc.
Z.
Alrighty, that time has again arrived, to clean up my code, and rebuild the engine =). I need to finally finalize object management and such, because at the moment, its driving me nuts =).
Z.
Oh, and the source is 25,109 lines of code in the base engine =).
Z.
Yeah, 25k :cool:
I can't wait until it comes time for the scripting ^_^
lol, just a few :):)
what code line counter do u have btw ? i tried to find a decent one that worked for vs7 but couldnt get one.
Psy: Project Line Counter, for vc6 (dunno if there is a 7 version).
Working on thread proofing everything... =)
Z.
Performance boost? :D
http://www.vbforums.com/attachment.p...postid=1366562
Z.
Alright, basically what I am doing now is looking over the components that I have, and thread proofing them, and slowly integrating the engine basics back into the system. As of right now, Ive got the console up and running, taking input, executing commands, etc. Having fun playing with these threads, currently getting ~44,000 updates per second (only timing the logic stuff for now, might add a second timer for actual fps) with the UI junk. That will drop quite quickly once I start getting some mutex clashing between the updating and rendering threads. Also had a small problem with my thread termination, but that has been sorted, and things are running smoothly =).
Z.
heh, nice fps there lol.
sounds good.
i tried that but it never seemed to install properly.
Hmmm? What were you installing? Sorry if its obvious, my brain has stopped working for the evening =).Quote:
Originally posted by PsyVision
]i tried that but it never seemed to install properly.
Z.
Project Line Counter
Ah =).
Z.
Spent the day tracking down memory leaks, making more, and fixing them =). Have caught all of them so far, so Im fairly happy at the moment =).
Z.
So thats what you do in your spare time :eek:
Today I spent doing so much work it wasn't funny =(
Yup... sounds like fun, eh? =)Quote:
Originally posted by Sastraxi
So thats what you do in your spare time :eek:
Today I spent doing so much work it wasn't funny =(
LAN party tomorrow..the day after, so nothing will be getting done except thinking, maybe some more stuff sunday =)
Z.
Hello, everyone.
I am sick. I've got mononucleosis. It's terrible. I've been sick for nearly 3 weeks and I've still got high temperature and an EXTREMELY soar throat...throaght...how is it written?
Nevertheless, I'm still here. If anybody wants me, I'm to be found sometimes at the MSN or you can notify me by email..I'm sure you all got it. I'm not really updated here, but I'd be happy to know how the progress are coming along.
Good night and good bye! See You
Well if I can remember any of my medical knowledge mono goes away in about a month... and you don't have to worry about getting it twice ;)... so tough it out until then! :)
And it's sore throat if you wanted to know =)
Im ill too at the moment, feel sick, swollen glands, sore throat, weak body.
:(:(
That's awful... I was sick earlier this week too.
Hope you guys are feeling better soon!
=( Wish you all well soon =).
Im home now... slept until 4 this evening =).
Well will see what will happen next =)
Z.
We will indeed =). Hey Z, mind whipping up the latest executable (when you do something nifty, whenever ;)), and sending it over to [email protected]? I'd like to see how this works on WineX... maybe we could keep the code compliant with WineX if it works ;) Who knows1 =)
Will do, Sas =). Might be a while until I get something that is worthwhile, but I will =).
On a side note, since we are planning on allowing recording/playback of games, what about a command line option that throws the game into Screen Saver mode, and plays back a saved game loop type thing? =)
Z.
That sounds pretty cool! I wouldn't mind having that playing back for an SS... also, we need some kind of propietary demo format and a demo->avi/mpg encoder. I could whip up the small encoder in VB using avifile (or maybe that's the linux thing, but I know I can do it).
In the end, we'll have quite a few modes:
Normal Mode loads tow, optionally the tow mod [mod].Screensaver Mode plays back (at full framerate) the demo file.Code:tow [-mod "modname"]
Demo Record Mode records a demo file from another [server] into [demo] file. Using the [only-record] flag we can tell it not to render (ala spectator mode). You can record a demo of current game by using same record syntax in console.Code:tow -ss "mydemo.towdemo"
Demo "Playback" Mode plays back, frame by frame, a demo file at specified [fps], and specified [size]. 2nd syntax advances the frame.Code:tow -record "mydemo.towdemo" -server "tow://192.168.1.107" -only-record
Spectator Mode connect to [server] to spectate a game from [player]'s POV. You can change this from inside the game.Code:tow -encode "mydemo.towdemo" -fps 23.976 -size 400x300
tow -advance 1
Basically, we should make it so console commands can be typed on the commandline (like a startup script for tow). One potential problem is how we communicate the rendered image to the media encoding program. I was thinking image -> bmp -> image -> stream, it would be best just image -> stream, but I'm not familiar with program interoperability. Can anyone advise?Code:tow -server "tow://192.168.1.107" -player 1
Sounds fine, though I would rather have the demo stuff as console commands.
For executing commands from the console, I was thinking -<command> for options, +<command> for console commands.
Also, I need a default file extension for maps. Suggestions? =)
Z.
Seems okay Sas. I would go with what Zaei says as an added extra.
.twm ??
*shudders at the mention of that horrible window manager*
Yeah, .twm would be great =) :D
It is, isnt it... :DQuote:
Originally posted by Sastraxi
*shudders at the mention of that horrible window manager*
Yeah, .twm would be great =) :D
.twm it is then. Unless you all want something longer then 3 letters... we ARE on a 32bit operating system here =P.
Reason I ask is so I can allow people to specify <map> and append the extension on before loading.
Trying to decide whether or not to start with the user interface, or the game itself =).
Z.
.twm should do it.
go for the UI ;)
Ive been pretty much completely unconcious for the last two days or so, except for school and work, so nothing has gotten done at all.
I got the map to load up with the new system, looking good. Modified the camera so it is a bit more intuitive, need to make a couple more changes to it, though =).
One problem with the map is that it still blocks rendering, which was exactly what I wanted to avoid with the threads. So im gong to need to change some more stuff around, no big deal. Also need to change how the input thing handles key releases (the way it is now is that the command needs to be the same for key down and up, except for a + or - in front of the command), will be changing that =).
Z.
Alrighty, after a small hiatus, I am back =).
Had a load of junk due today and yesterday, so I worked on that all of friday. Worked saturday, then went over to a neighboring campus to visit people, so nothing got done. Drove home sunday, worked, then finished work, so nothing got done. One of my friends had suggested an HL mod for me to try (The Specialists http://www.specialistsmod.net , lots of fun), and I played that sunday and monday night, then did some more work for school. As far as I know, everything is smoothing back to normal now.
Worked some on the game today, had to modify my mutex object, since I wanted a function that was NT only. It works, but I am having some problems that I need to track down that probably have something to do with a memory over write somewhere... but I will get there =).
Z.
Sounds like someones having fun at Uni.
I've been looking at a whole load of Uni's seen as im hoping to go in September 2004 to one and study Computer Science.
You'll do well, Psy =)
Sounds fun, Z. I hope you're still getting some work done, though :)
Myself, I have been out and about this way and that for the whole weekend and part of yesterday. Today we had company so I was busy entertaining and couldn't do much work. On the other hand, I have gotten quite far in developing a small {freeware} app based around the command-line for converting various music formats. It's part one of five in a digital music suite, audioinfinity, that I'm developing...
Although it makes me stuck with one question, which is the purpose of bringing this up. Do you think I should accept multiple files at one time or only one? The way I have set it up now it only accepts one, but I think this may not be sufficient... what do you think?
I already hate both of the CS programs at the schools im looking to transfer to. But thats OK, Ive already tested out of the basics :DQuote:
Originally posted by PsyVision
one and study Computer Science.
Sas, explain more =). I think that if there are a lot of cmd line options for whatever the thing does, you should allow it to accept multiple files.
Z.
It's no matter; I decided to bite the bullet and add it in. The only problem I have now is how I'm going to name the output files now... I'm sure it'll come to me though...
If you want to see it, here's the GUI (near nothing coding-wise is done at the moment, I just started yesterday).
Well, I just fixed those funky memory errors... now Ive just got to figure out HOW :D
Z.
WHoops. No wonder my system starts running sluggishly after a few debug sessions =)
:DCode:Detected memory leaks!
Dumping objects ->
{2432} normal block at 0x0088A630, 6084 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Object dump complete.
Z.
Alright, all leaks are fixed.
After realizing that 78^2 == 6084, I knew where my leak was, and fixed that. The other 512 byte leak Is pent 45 minutes tracking down before realizing that it was a fake leak :rolleyes:
Z.
hey, ive seen that memory logger somewhere, i was reading the flip code message board but now i cant find the thread. where did you get the code for it from ? i saw a piece of code that had "Detected memory leaks!" in it :s
At least the memory is being cleaned nicely :):)
Sas, do it multiple files ;)
Its actually built into the MS version of the runtime library. Just run this little bit of code when your program starts up:Quote:
Originally posted by PsyVision
hey, ive seen that memory logger somewhere, i was reading the flip code message board but now i cant find the thread. where did you get the code for it from ? i saw a piece of code that had "Detected memory leaks!" in it :s
At least the memory is being cleaned nicely :):)
Sas, do it multiple files ;)
Z.Code:int flag;
flag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
flag |= _CRTDBG_LEAK_CHECK_DF;
_CrtSetDbgFlag(flag);
Added in console message scrolling... you can now move through the whole log with pg up/dn =). Also addd a new command "developer(n)", which allows you access to level n debug messages =).
Z.
Okay, I thought I'd lighten the mood to the non-programmers of the team by adding in some new ideas I have had.
Remember how each building needs flat ground? Well, how about buildings can provide flat ground, we we can have "bases". For example, you can have a sort of elevated stone platform, and add a stair to it, or maybe if it's quite tall add a tunnel underneath. Something in the roman style :).
Also, not sure if I ever mentioned this, but Siege towers are a must for this kind of game.... ;)
Here's that picture I forgot to attach:
Sounds good Sas =). I need to get buildings implemented soon =).
Z.
And Audiocon looks nifty :thumb:
Z.
Finally got to test the code I wrote last night, worked like a charm. Implemented command history, so the up and down arrow keys cycle through the most recent console commands that you typed.
Z.
Unix-style ;)
Sounding good !
Zaei, i got the memory leak thing working. How do i tell where my in my code the errors are ?
I could'nt see a line number like in other managers.Code:
Detected memory leaks!
Dumping objects ->
{149} normal block at 0x00437D68, 172 bytes long.
Data: < !B > 80 21 42 00 00 00 00 00 00 00 00 00 05 00 00 00
{148} normal block at 0x00437CF8, 48 bytes long.
Data: < ? > 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00
{147} normal block at 0x00437CA0, 24 bytes long.
Data: < > 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00
{146} normal block at 0x00437C30, 48 bytes long.
Data: < > 00 00 80 BF 00 00 80 BF 00 00 A0 C1 00 00 80 BF
Object dump complete.
What's the number in parentheses at the start?
*shrug* :DQuote:
Originally posted by Sastraxi
What's the number in parentheses at the start?
Psy, my method is to override new, and check the returned pointer, ie:
Then you can just move up the stack to find your leak :DCode:void* operator new(size_t n)
{
void* m = malloc(n);
if(unsigned long(m) == 0x00437D68)
{
m = m; // breakpoint here
}
return m;
}
Z.
Im still here, and still working =). Added a developer console function to set the debug log level, and a cmd_list function to list the available commands. Thinking about implementing a command search type function as well, but we will see.
Also want to implement console tab completion at some point, but not now =).
Z.
You really should implement tab-completion. It's very annoying to have to have a reference beside you when typing something at the console, and maybe just a general help that outputs all of the possible commands.
By the way, does the window scroll (scrollwheel)? I remember you saying it did at one point, but I can't find that post.
cmd_list lists all the possible commands =P.
The console does scroll, but with pgup and pgdn, not the scroll wheel.
Im having a small problem with the terrain rendering... it doesnt seem to want to render any of the tiles but one... so I am searching to fix this =).
Z.
Perhaps an unset variable.
Probably me not setting up something correctly... thats why I backed up all the code before starting this rewrite =)
Z.
Well, the terrain problem is sorted now... Its amazing how one single assignment can screw up everything =). Basically, the terrain can be created in two ways. The first, the number of tiles and the tile size are embedded into the map file, and are loaded when the map is loaded. The second, those are specified by the program for the creation. To tell between the two, if the number of tiles passed by the program is 0, it means that the attributes have been loaded, and to use those values. However, the variable that moves the current position of the tile to be created was still being set to the value passed by the program (0), and not the one loaded from the file. So, the terrain is abck in action =).
Z.
I know what you mean Zaei :s
Nice Going !