Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Eclipse Minima - Eclipse in Assembly


Ruins of Hell
 Share

Recommended Posts

April Fools!

**FAQ**

**Q: Was this Eclipse's April Fools?**

Nope. I did it individually. I didn't tell anybody I was doing it either, but it was obvious some people played along.

**Q: How did you get nearly a million lines of commented assembly output and a very professional topic?**

I disassembled the client and server executables (using IDA) and then dumped the output to the source files.

The feature list was borrowed from Eclipse Origins features (with 3D appended at the end). Formatting was borrowed at first, but then removed because I was afraid it would be too obvious.

**Q: Does it compile?**

I don't know, maybe. I just used the default executables for the "executable version", and claimed them fully compatible.

**Q: Does the 3D actually work!?!? That's really cool!**

It doesn't.

_Enjoy!_

>! â–‚â–‚â–‚â–‚â–‚â–‚â–‚â–‚â–‚
â–•  Eclipse  ▏
  ▏Minima  ▏
▀▀▀▀▀▀▀▀▀▀
>! I made this myself. Eclipse does not sponsor nor endorse this product.
>! Recently there has been a lot of posts complaining about Eclipse's use of Visual Basic 6\. That's why I, independently, have taken the liberty of rewriting Eclipse in _Assembly_! One of the purest languages of our time, it is absolutely free and requires minimal download. I have also added comments to aid in migration. As you can imagine this has been a huge task, the client source is 836243 lines long, and the server source is 142653 lines long.
>! [Download the executables here!](http://www.freemmorpgmaker.com/files/imagehost/pics/65559e6ca81a3f7758415f56e4686910.zip) (compressed: 338 KB, uncompressed: 1.57 MB) (Note that this download **is very similar to Eclipse's look.** This is intentional, please tell me if you find anything that's not that same as Eclipse. It is intended to be compatible with Eclipse.)
[Download the source here!](http://www.freemmorpgmaker.com/files/imagehost/pics/008be117a3724150eaa33c98c8e78319.zip) (compressed: 1.12 MB, uncompressed: 15.5 MB)
>! Features
>! * Directional blocking.* Player-to-player trading.* Dynamic Maps.* Dynamic character sprites.* Drag + drop visual inventory.* Complete resource system.* RMXP style editor suite.* Byte array packets with enumerated headers sent via WinSock.* Properly managed memory for graphics.* Admin menu.* Dual-layer animations.* Blood.* Full spell system.* Visual shop system.* 3D version (detects).

Changelog

>! v0.0.3:
I finished up a really cool feature: 3D. It currently supports red-and-cyan anaglyph glyph glasses. If your computer has a webcam, detection should be (almost) perfect. If not, it will try to detect if you do by your reflection on screen. You can set it in the source code by using "mov [ebp - 4], 10" at line 152629 client-side.
>! v0.0.2:
Executables released. Division bug fixed.
>! v0.0.1:
Release.
>! * * *
>! _Development versions:_
>! dv:0.9:
>! My lord, I'm so close to finishing this. Just got to polish up some stuff.
>! dv:0.8:
>! Spells, shops, et alla are done.
>! dv:0.7:
>! NPCs complete.
>! dv:0.6:
>! Maps are done.
>! dv:0.5:
>! Packets are fully functional.
>! dv:0.4:
>! Server/client interface created.
>! dv:0.3:
>! Graphics done.
>! dv:0.2:
>! Packet system done.
>! dv:0.1:
>! Decided to rewrite Eclipse in assembly.

FAQ

**Is this an official Eclipse project?**

No. I made this myself.

**Does it work?**

Yes. There are some kinks I need to work out (it doesn't compile on certain systems), but it's usable.

**Do I need to install any special files?**

You need an assembler, but other than that you can just plop it right into the normal server/client folders and watch it work its magic!

**You wrote this by hand?**

I also created some tools for string conversion (hence why some code looks very weird).

**This is an April Fools joke, right?!?!**

No. I spent a year converting the source code of Eclipse to assembly by hand. I'm doing this independently, and it has nothing to do with any other administrators / moderators. As such I hope you're able to enjoy it.

**Do you plan to convert Automata over to this?**

No, or at least not yet. There's much more pressing issues.

**Does this have any bug fixes installed?**

Sadly, no. Bug fixes came so often that I stopped implanting them. Any bugs in Eclipse persist.

* * *

If you have any other questions, tutorials, or bug fixes, I would ask you to confine them to this thread.
Link to comment
Share on other sites

@Zopto:

> i got 2x of txt files…i am not redy for this xD

Yeah, you have to assemble them yourself. ;)

But look at the bright side: no Visual Basic 6.

@Aeri:

> Holy ducking duck. I thought this would never come.

No problem, I spent quite some time working on this so it feels good to get a working version out there.
Link to comment
Share on other sites

@Zopto:

> can you exemple me how to i start client and server whit this?i realy went to see how it look

It's actually more of a pre-release now. There will be executables available for download by next week. If you really want to know, I drew up a quick guide:

* You need a high-level assembler. Something like ~~ollydbg~~ or IDA will work if you're lazy, if not you can get the appropriate assembler for you architecture.* Load the file.* Assemble the server and client.* Wait (and wait).* Execute the outputs.

Edit; informed that ollydbg does not work. Sounds about right. I would assume IDA wouldn't work either and you might have to get a real assembler (most are free, and you aren't locked onto one platform like VB6).
Link to comment
Share on other sites

@Soul:

> It's actually more of a pre-release now. There will be executables available for download by next week. If you really want to know, I drew up a quick guide:
>
> * You need a high-level assembler. Something like ollydbg or IDA will work if you're lazy, if not you can get the appropriate assembler for you architecture.* Load the file.* Assemble the server and client.* Wait (and wait).* Execute the outputs.
>
> k ty i try it  now
Link to comment
Share on other sites

@Zopto:

> k ty i try it  now

Let me know if it works. Some of the cross-platform devices aren't fully working. If you get a compile error, post your Operating System and architecture here so I can try and find out what I need to change. I've already found a bug with Intel P5 Pentiums (for some reason division is wrong). I'm working on a fix (emulating floating point manually, which although annoying is needed). I think I'll get the fix out today, so if you have any other bugs I can squash before I release that'd be helpful.
Link to comment
Share on other sites

@Zopto:

> …......when i start olydbg and when i went to  load file it say wrong format of file

Yeah, I'm not sure if ollydbg would work/could work. I recommend getting a real assembler. In a couple of minutes I'll release a nicer version with some brushed up code and executables pre-installed.

@S.J.R.:

> I might come up with a port linked against winelib to get this working on other operating systems that do support the x86-architecture.
>
> Yours faithfully
>   S.J.R. van Schaik.

Good luck. ;)

Edit: adding the binary versions now. I tried to make them as close to the original Eclipse as possible. Do tell if they're any differences.
Link to comment
Share on other sites

@Sealbreaker:

> RTE 76-path not found. On server & client…I'm on an I7-2630m and nvidia gtx 460m at the moment.
>
> -seal

It is entirely compatible with the old versions of Eclipse (Eclipse Origins). It was intended to be put in the Origins folders (Eclipse Origins Asm.exe in the client folder, Server Asm.exe in the server folder).
Link to comment
Share on other sites

I hate to double post. But 3D (for anaglyph glasses) is now fully supported! From the changelog:

> v0.0.3:
> I finished up a really cool feature: 3D. It currently supports red-and-cyan anaglyph glyph glasses. If your computer has a webcam, detection should be (almost) perfect. If not, it will try to detect if you do by your reflection on screen (by getting pixels and checking if there is an abnormal amount of red-and-cyan within a certain vicinity). You can set force-set it in the source code by using "mov [ebp - 4], 10" at line 152629 client-side, and you can for unset it by using "mov [ebp - 4], 5" at line 152629 client-side.

I'll write up a technical document describing it later, but for now, just enjoy the fact that it works.
Link to comment
Share on other sites

@Soul:

> I hate to double post. But 3D (for anaglyph glasses) is now fully supported! From the changelog:
>
> I'll write up a technical document describing it later, but for now, just enjoy the fact that it works.

You must now give yoruself 5% warning soul DOUBLE POSTER
Link to comment
Share on other sites

@MrMiguu:

> This sucks. Bring back the VB6\. nao.
>
> Goodluck to all the newtards who are going to have a fun time learning DIFFICULT ASM just to make some source edits. lololol.

Without the use of Visual Basic 6, Eclipse becomes far easier to use. Also, 3D is awesome.
Link to comment
Share on other sites

@Soul:

> Since you're not doing PVO anymore, I would like to convert it to assembly with your permission.

Convert it to flash, also. I'd like to put Apple in its place. Take that, iPad/iPod Touch/iPhone! Side-scrollers make for perfect flash games.

Code the engine in Ruby for horsepower.
Link to comment
Share on other sites

@MrMiguu:

> Convert it to flash, also. I'd like to put Apple in its place. Take that, iPad/iPod Touch/iPhone! Side-scrollers make for perfect flash games.
>
> Code the engine in Ruby for horsepower.

@S.J.R.:

> Programme the server in Erlang. So that when it crashes, it reboots automagically, and just acts like nothing happened.
>
> Yours faithfully
>   S.J.R. van Schaik.

I was thinking of doing both of these at the same time. First, I would create GLuE. GLuE is a C program that loads various fragments (a .dll or a text file, depending on the language). All these fragments are server-side of course. GLuE then loads each individual fragment. Each fragment is a function (example: GetPlayerVital is GetPlayerVital.dll).

This way, I can write each fragment in a different language. Then I can port various fragments over to other languages. Soon we will have a program that is full customizable. Don't like Erlang? Change the fragments to a Ruby copy. Need for speed? Why not change a fragment from Python to Assembly?

GLuE is currently in its beta stage (as it only supports Windows due to the fact it depends on .dll's). [You can spoon it on BitBucket once I finish uploading it.](https://bitbucket.org/spooning/)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...