Eschaton v3 Source Code

Halo modding and gaming related applications.
Altimit01
Eschaton Dev
Eschaton Dev
Posts: 2108
Joined: Sun Apr 15, 2007 7:43 pm

Eschaton v3 Source Code

Post by Altimit01 » Sun Dec 28, 2008 11:49 am

Well it's that time again. Code from 0.5 and 0.6. Eschaton 0.7 uses a different code base.

Code is a Realbasic project. A cross platform proprietary basic dialect and integrated development environment.

Version 3 refers to the internal structure of the application. The original bit of code I wrote way back when was v1, and 0.3 was v2 with the ability to handle reflexives and now v3 with a lot more power and redesigned system for reading the map.

Code is derived from a great many different sources. Some code is translated from MonoxideC's HMT, some code is borrowed from Bob's source of sparkedit mac which in turn includes and derives code from Grenadiac. Conure and Cloud had input at various points. DeToX was responsible for having entity style tags added. Harry Hooie developed the smart splitter control which is utilized. The quesa3D project is responsible for the quicktime/OGL abilities. And I did the rest.

I don't like half of the way this program does things but it works. There's a good amount of unused code for various reasons. Abandoned research and redundant implementations. Still it should provide a useful resource for those willing and able to learn.

Without full ownership of the code I can't really GPL this bad boy but I ask that anyone who does use it for their own stuff either provide source or teach people how they did what they did.

Included are all the essential files needed to compile the code although relinking of resource images may be necessary.

Download
Disclaimer: I am no longer active. Any posts, PMs or other communication I use has no guarantee of accuracy or follow up.
Download Eschaton: Mediafire

L33T...NON H4X

Re: Eschaton v3 Source Code

Post by L33T...NON H4X » Sun Dec 28, 2008 12:38 pm

Finally.

NO IP LOOKING. -cough-

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: Eschaton v3 Source Code

Post by Modzy » Sun Dec 28, 2008 3:45 pm

Sweet. I do enjoy looking through the source codes, although I normally get lost about 10 lines in. :P
For Halo Map Protector, I tried to learn how 0.4 read tag names. Spent awhile and couldn't find out how. :-/
I eventually had to come-up with my own method.


Edit:
Image

@_@

Fonzeh
Ranger
Posts: 1894
Joined: Tue Oct 16, 2007 3:57 am
Location: "I didn't just take your mom out to dinner. I ate your mom for dinner."
Contact:

Re: Eschaton v3 Source Code

Post by Fonzeh » Sun Dec 28, 2008 6:24 pm

Thank's Alt!

and lol at the picture.

I'm guessing that is a younger Alt, who wasn't exactly worried about Professional, and was bent on making it fun.

As I learned in Programming, You will never be fully satisfied unless your apps are professional, not silly, or else, who would take you seriously?
G[v]N wrote:HUGE NOTIFICATION
THIS GRAVY HAS BRAINS
Mota-Lev was here 30/4/2010@2:18pm
Image

Altimit01
Eschaton Dev
Eschaton Dev
Posts: 2108
Joined: Sun Apr 15, 2007 7:43 pm

Re: Eschaton v3 Source Code

Post by Altimit01 » Sun Dec 28, 2008 6:26 pm

That was totally sword.
Disclaimer: I am no longer active. Any posts, PMs or other communication I use has no guarantee of accuracy or follow up.
Download Eschaton: Mediafire

Fonzeh
Ranger
Posts: 1894
Joined: Tue Oct 16, 2007 3:57 am
Location: "I didn't just take your mom out to dinner. I ate your mom for dinner."
Contact:

Re: Eschaton v3 Source Code

Post by Fonzeh » Sun Dec 28, 2008 6:28 pm

Had to wait before posting, because right before I read your post, i was thinking...

You know.. that dialouge reminds me of Swordedit's text...

and then i read your post and laughed, anyway, thanks alt!
G[v]N wrote:HUGE NOTIFICATION
THIS GRAVY HAS BRAINS
Mota-Lev was here 30/4/2010@2:18pm
Image

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: Eschaton v3 Source Code

Post by Modzy » Wed Dec 31, 2008 12:44 am

Eschaton v3 code wrote: thanks to G3David for providing this code
because I don't like Rb3DSpaces, RB all that much and hate bitmaps
oh how I hate you bitmaps
much hate...
so much hate...
btw, I haven't started on it yet so this is all premature anxiety but still...
...
hate
Eschaton v3 code wrote: I really don't know why I'm making this a method but I am
so screw you whoever is reading this and making fun of my coding
I went and had to research how everything works using only HMT and SparkEdit source codes
for the record, obj-c is an ugly language that deserves to be destroyeded.
yes...destroyeded. double past tense.
o:
I agree with the obj-c part. ;P

Fonzeh
Ranger
Posts: 1894
Joined: Tue Oct 16, 2007 3:57 am
Location: "I didn't just take your mom out to dinner. I ate your mom for dinner."
Contact:

Re: Eschaton v3 Source Code

Post by Fonzeh » Wed Dec 31, 2008 5:12 am

Eschaton v3 code wrote: for the record, obj-c is an ugly language that deserves to be destroyeded.
yes...destroyeded. double past tense.
A-Fucking-Men

I think anything C is fucking rediculous
G[v]N wrote:HUGE NOTIFICATION
THIS GRAVY HAS BRAINS
Mota-Lev was here 30/4/2010@2:18pm
Image

Altimit01
Eschaton Dev
Eschaton Dev
Posts: 2108
Joined: Sun Apr 15, 2007 7:43 pm

Re: Eschaton v3 Source Code

Post by Altimit01 » Wed Dec 31, 2008 12:09 pm

Well I sort of grew up on simula style OOP. Object.Child (ect) makes sense decently enough. Strong data types make designing your code fairly easy. You always know what it's going to do. Messaging I'm ok with to a certain degree (I think returning self is weird but understand why people do it). My main issue is that it's run time based and you can send a message to something that doesn't support it. I understand the power but I'd rather enforce working code at compile time than during runtime debugging.

I should point out, Obj-C looks and acts nothing like C. The only thing they have in common are some primitives and that Obj-C can interact with regular C.
Disclaimer: I am no longer active. Any posts, PMs or other communication I use has no guarantee of accuracy or follow up.
Download Eschaton: Mediafire

Fonzeh
Ranger
Posts: 1894
Joined: Tue Oct 16, 2007 3:57 am
Location: "I didn't just take your mom out to dinner. I ate your mom for dinner."
Contact:

Re: Eschaton v3 Source Code

Post by Fonzeh » Wed Dec 31, 2008 12:55 pm

Altimit01 wrote:I should point out, Obj-C looks and acts nothing like C. The only thing they have in common are some primitives and that Obj-C can interact with regular C.
This i do know, I have done my homework, especially here recently.

But with REALbasic, a lot of coding is already included in the GUI, With C, or any other language besides visual basic for that matter, you have to fill in that missing GUI, And even a Hello World application is rediiculous.

I mean, besides

Code: Select all

MsgBox "Hello World" 
It's

Code: Select all

 import <Foundation/Foundation.h>                                         // 1 int main (int argc, const char * argv) {                                // 2     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];        // 3     // insert code here...     NSLog(@"Hello, World!");                                            // 4     [pool release];                                                     // 5     return 0;                                                           // 6 }

Fucking rediculous >>
G[v]N wrote:HUGE NOTIFICATION
THIS GRAVY HAS BRAINS
Mota-Lev was here 30/4/2010@2:18pm
Image

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: Eschaton v3 Source Code

Post by nil » Wed Dec 31, 2008 1:19 pm

Obj-C is a whole like C and is built off of it, in fact it pretty much is just with a couple of syntax additions [don't let brackets scare you] and a new runtime. It is 100% compatible with C unlike C++. While C can be ridiculous at times and not so productive because it is so low level, I will not really be convinced to use Real BASIC (I should point out I like other languages that are not based off of BASIC or C syntax). Just for the record, programming languages are not "binded" to GUI's which means RealBASIC is more than just a programming language or something along those lines. Visual BASIC's GUI nowadays is all because of .NET for example.

I do not care what Eschation is written in though, as long as it runs and behaves correctly as I would expect on my OS X machine.

Altimit01, as long as you statically type declarations (not use id when you do not have to), the compiler will warn you if you are sending a message to something that may not respond to it.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Altimit01
Eschaton Dev
Eschaton Dev
Posts: 2108
Joined: Sun Apr 15, 2007 7:43 pm

Re: Eschaton v3 Source Code

Post by Altimit01 » Wed Dec 31, 2008 1:41 pm

I've been working with Obj-C a bit more because of someone on here and am more familiar with it. I recognize what it can do and realized that bit about warnings and the like. But that design paradigm is just one I'm not as comfortable with. I really do prefer dot syntax and strong typing that compiles as opposed to loose typing and reflective design which involves the run time. Also C++ has the added benefit of not only providing OO but also things like namespaces, operator overloading, multiple-inheritance (a blessing and a cure), templates (yes I realize they are only necessary in strongly typed languages) and a nice big standard library. There is much to be said about Obj-C's use of protocols and interfaces to extend the functionality of objects even if they're already compiled in some library.

Realbasic really is tied to it's IDE. No one cares enough about it to really work on anything to port it since it's such a small market and already has cross platform support. It's just closed source and proprietary.
Some things I've noticed in favor of RB are as follows:
Simple to use GUI building with code binding. It's like Visual Studio for mac. Easy, but lazy and not as powerful as a binding the controls to code manually.
Threading is very simple to utilize. It's got a predefined thread class that you subclass and implement your own run method.
Arrays include insert, remove, count (ubound), append, indexOf and resizing without needing a special template, class or extra code.
Some very easy to use predefined functions and classes such as folderitems, binarystreams, pictures, dictionaries (hash-key tables), dialog functions.
Rich debugger which can examine all data in an organized way via a GUI.
Basic dialect is very very very easy to learn.
The IDE compiles to all three operating systems without any problems. No extra code necessary, no linking to different libraries. Just set what system(s) to target, build and go.

So what would those other languages be since they're probably not simula derived (dot syntax OOP)? Java falls into the same boat. Maybe something like ruby or python? Perl or lisp perhaps?
Disclaimer: I am no longer active. Any posts, PMs or other communication I use has no guarantee of accuracy or follow up.
Download Eschaton: Mediafire

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: Eschaton v3 Source Code

Post by nil » Wed Dec 31, 2008 2:20 pm

Bracket syntax is something I can deal with and ObjC's named parameters are something that makes code easier to read at least to me. I am not too comfortable with BASIC syntax on the other hand and cannot really stand it after using a couple of languages based on the syntax. Not sure if RealBASIC enforces this as a convention, but I also hate hungarian notation.

ObjC has Foundation and C's standard library and other languages have standard libraries as well. I do not really know what I am missing from C++'s libraries and am definitely not missing C++'s templates. I do not mind loose typing though.

Cross compatibility, in my opinion (yours may differ), is only truly compatible if it behaves correctly on each operating system, which means UI specific things are handled differently on each operating system thus they have to be treated differently for each operating system within the program.

I like ruby and python by the way, did not get too much into Perl, I think java is okay. Have not tried out lisp yet.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Altimit01
Eschaton Dev
Eschaton Dev
Posts: 2108
Joined: Sun Apr 15, 2007 7:43 pm

Re: Eschaton v3 Source Code

Post by Altimit01 » Wed Dec 31, 2008 3:34 pm

The UI issues with RB as far as cross compatibility are very minimal. Some things look differently for example tabs on OSX are center aligned and tabs on Windows are left aligned. Menus are taken care of automatically so something you put in the Apple Menu is shifted over to the file menu on Windows. It predefines command keys so you specify something as cmd-O for example on a Mac, it will be ctrl-O on Windows. The only time I've ever run into issues is because Windows as an OS doesn't double buffer controls so something like the scrolling controls on Eschaton flicker on Windows because it has to redraw that section every time. Because the IDE is developed for cross platform capability ever control exists on every system or has an analog that is substituted (drawer windows become pop-ups on windows systems for example).

I'll give you named parameters. It's a useful feature for readability that most modern IDE's functionally mimic during writing with autocomplete and reminder information. Not a huge fan of being able to only send some parameters though granted it's also possible in C++ and Basic through the use of default values. At least I seem to remember reading somewhere you could not send parameters and the run time would start doing some things to try and supply them.

As for hungarian notation, I have never seen that in any of my days coding in a Basic or C-derived language and to be honest I don't see how any compiler would try to enforce it. Provided you don't name your variable a keyword or start it with a number I've never seen a compiler care one lick about variable names.

Just because templates can be a little bit of a hassle during compile does not mean they are not extremely useful. Else MS wouldn't have mimicked that functionality with C# generics.

I've looked through python before and the only difference I noticed between it and C++ were primarily philosophical. Static versus dynamic and block versus white space. Briefly looking through ruby it seems to be on a basic level very similar.

I'm getting a feeling you have a preference towards dynamic languages versus static languages more than anything else. Having studied data structures and having an affinity for bit flipping I prefer static languages. Building with bricks versus clay I suppose.
Disclaimer: I am no longer active. Any posts, PMs or other communication I use has no guarantee of accuracy or follow up.
Download Eschaton: Mediafire

Fonzeh
Ranger
Posts: 1894
Joined: Tue Oct 16, 2007 3:57 am
Location: "I didn't just take your mom out to dinner. I ate your mom for dinner."
Contact:

Re: Eschaton v3 Source Code

Post by Fonzeh » Sat Jan 10, 2009 3:15 pm

Altimit, is this Eschaton .3 or .6's source code?
G[v]N wrote:HUGE NOTIFICATION
THIS GRAVY HAS BRAINS
Mota-Lev was here 30/4/2010@2:18pm
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 28 guests