ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on July 11, 2012, 12:10:16 AM

Title: Das Newspost
Post by: Josh @ Dreamland on July 11, 2012, 12:10:16 AM
I'm beginning to realize I'm keeping you people in the dark about what's going on with my progress, aside from the ticker at the top that shows commits.
People ask me to put a number to things; I can't give a date, but I can tell you that I'm on the last section of my to-do list, as far as I know, and this is how it stands:

I am

650/8587

done with the last segment of the new parser.

That is

7.57%

.

I will update this newspost as that number changes.


Archive:
2012/07/12 11:18:19 - 566
2012/07/12 03:04:14 - 590
Title: Re: Das Newspost
Post by: TheExDeus on July 11, 2012, 07:47:50 AM
And this 5.67% was done in how long? Hopefully it wont take the rest of the year, because ENIGMA needs to be cleaned up again. The .exe size it creates is very big (even when all of the extensions are turned off as well as sound and collision systems) and the extension system makefiles have problems with dependencies. For example, I created an extensions that I had to link with a lib, after that it works fine, but if I disable the extension (so I can't use the functions) I still need to supply the .dll the lib was for. So basically I now have 5 ENIGMA's for 5 different extensions so I can create 5 programs/games.
Title: Re: Das Newspost
Post by: Josh @ Dreamland on July 11, 2012, 10:11:28 AM
I don't know how you find yourself in these messes.
Anyway, most of that five percent was done yesterday, but since that was the beginning of a large change set, that's probably a poor projection.
Title: Re: Das Newspost
Post by: TheExDeus on July 11, 2012, 11:14:10 AM
Quote
I don't know how you find yourself in these messes.
Well usually the problems I face is what everyone faces. Its just that no one else seem to care while I am a perfectionist (sort of) and I want ENIGMA to be as good as possible. I, sadly, can only work on functions and no matter how hard I try I can't figure the bigger systems out (like the extension system, the makefiles, configuration files etc.). And the problems lie there. So you should take a few days in the future and just clean up ENIGMA, so it can output ready files (so no temp bull) and create as small and fast files possible. When I add -Os to some configs/makefiles it doesn't make any difference and that is why I can't do it.
Title: Re: Das Newspost
Post by: Josh @ Dreamland on July 11, 2012, 12:04:32 PM
Watch the console output. If you don't see -Os in it, then you didn't add it in the right place.

I don't recall leaving either system in a state in which disabling components failed. I recall marveling at how disabling the audio system in Windows cuts the size in quarters, and I have not modified that system since.

My biggest concern is getting JDI finished and hooked in. I could practically sing about all the things that will be in my power at that point. One of the first things I will be doing is removing references to instance_event_iterator, replacing it with a parameter that the compiler will insert. This affects the extension system in a big way, though I don't see it affecting the problem you seem to be reporting. I've never had issues enabling or disabling any system.
Title: Re: Das Newspost
Post by: Josh @ Dreamland on July 12, 2012, 01:48:00 AM
Ended up spending most of the day on a backtracking spree. Spent it making sure 22,000 lines of C parsed correctly instead. As for the C++ set above, in actuality, 758 lines (8.8%) parse without serious error, and should parse without any error by tomorrow's end as a result of today's work, but we'll see.
Title: Re: Das Newspost
Post by: luiscubal on July 12, 2012, 09:11:24 AM
So what are the main differences between this new parser and the previous ones?
Title: Re: Das Newspost
Post by: TheExDeus on July 12, 2012, 10:07:29 AM
This apparently works.
Title: Re: Das Newspost
Post by: IsmAvatar on July 12, 2012, 10:20:23 AM
Supposedly this one won't break every time they release a new version of the kernel or mingw.
Title: Re: Das Newspost
Post by: Josh @ Dreamland on July 12, 2012, 03:11:26 PM
It fixes the C++11 issues. Should be more extensible, too. As part of that, it can tell me the type of an expression much more adeptly, so translating entity.member is much less of a guess. This includes template instantiation, so map<string,int>::operator[] gives the correct type as well.
Title: Re: Das Newspost
Post by: luiscubal on July 12, 2012, 07:22:16 PM
Ah. In what way is this related to the JustDefineIt project? Also, is this C++-only or does this include the EDL language extensions(or whatever you call them)?
Title: Re: Das Newspost
Post by: Josh @ Dreamland on July 12, 2012, 08:34:17 PM
The C++ parser is called JustDefineIt. I have written its functions in such a way that ENIGMA will be able to reuse them--if one works, both work. ENIGMA will supply a custom lexer to JDI, which will account for missing tokens. For instance, begin and end will be mapped to { and }, <> will be lexed as an operator, and so on and so forth.
Title: Re: Das Newspost
Post by: Josh @ Dreamland on July 12, 2012, 11:55:39 PM
Due to a heisenbug, I can't accurately report progress at the moment. I'm either at line 450 or 860. You see, commenting out a line that printed to stdout broke everything, probably due to RVO finally kicking in on the type I removed. Valgrind had nothing to say on the matter, which means I'm probably reading something invalidly, but within the bounds of another allocated block. I'll find it tomorrow, or just let it deal with itself.

Edit: I can't reproduce the strange effects; seems it was more of a Schrödinbug after all, as the solution to the issue on line 450 was the only issue for 200 lines. So that's a nice jump start.
Title: Re: Das Newspost
Post by: The 11th plague of Egypt on October 17, 2012, 02:11:54 PM
Any news?
Title: Re: Das Newspost
Post by: Josh @ Dreamland on October 17, 2012, 02:56:29 PM
Very little. I'm stuck with my college workload, and no one else is doing much. Actually, forthevin committed a pixel-perfect patch for the bbox collision system. I still have no idea what nbeer's issue is (haven't gotten around to it), and I have had essentially no time to work on integrating JDI into the EDL parser. So no movement there, really.