Duke4.net Forums: BloodBox proof of concept - Duke4.net Forums

Jump to content

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

BloodBox proof of concept

User is offline   Psycho87 

#1

See the README.md:

https://github.com/MarkZ87/BloodBox
4

User is offline   Hendricks266 

  • Weaponized Autism

  #2

This is pretty cool. I need to get back to work on my own take on this concept.

Do you have any concrete plans for what you'll do with the function replacing?
0

#3

This sounds like a promising approach. I have the same question as Hendricks, what are your plans with BloodBox?

This post has been edited by icecoldduke: 21 June 2016 - 11:55 AM

0

User is offline   Psycho87 

#4

Getting as much of the BUILD engine moved over seems like the obvious first step, then maybe add hardware accelerated rendering through OpenGL.

Reverse engineering the non-BUILD engine stuff is definitely going to be harder though, but Blood actually has a lot of useful error messages containing file names, so it's relatively easy to categorise groups of functions and know what they're about. And the great thing about an incremental approach like this is that you have a lot more freedom to play around with the code to figure out what it does, so that should make it quite a bit easier.

But what is your take on this concept, Hendricks? If it's not too dissimilar to BloodBox, maybe we could work together? I'm not sure if I have the time and energy to do this all myself and I would very much like for other people to join in. I included the IDA databases as well to encourage collaboration on the actual reverse engineering.

Until recently I had set my hopes on BloodXL, but Lucius has been working on that for years now, without all that much to show for it, so I think the more people we can get on a single, open reverse engineering project like this, the better.
0

User is offline   Psycho87 

#5

Oh, by the way. I am currently assuming that the code is always loaded at the same location in the memory buffer. This might never be a problem, but I haven't done the work to figure out if this is ever not the case.

Also, it would be nice if someone tested BloodBox on Mac and Windows, because I don't own a Mac and I haven't booted into Windows in ages, and don't feel like testing it myself in there.

This post has been edited by Psycho87: 21 June 2016 - 12:32 PM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #6

View PostPsycho87, on 21 June 2016 - 12:25 PM, said:

But what is your take on this concept, Hendricks? If it's not too dissimilar to BloodBox, maybe we could work together? I'm not sure if I have the time and energy to do this all myself and I would very much like for other people to join in. I included the IDA databases as well to encourage collaboration on the actual reverse engineering.

I am taking an entirely different approach that I'm not quite ready to talk about, so I'm afraid there isn't much use in collaborating. One exception is what I originally asked: Are you planning to work on patches to game-side functions? Ideally, my project will eventually support the same, so any work you do there could be brought over.

View PostPsycho87, on 21 June 2016 - 12:25 PM, said:

Until recently I had set my hopes on BloodXL, but Lucius has been working on that for years now, without all that much to show for it, so I think the more people we can get on a single, open reverse engineering project like this, the better.

He has seemed to be on the cusp of releasing something for several months now. My real-life responsibilities have prevented this fact from being as much of a fire lit under my ass as I would have liked.
0

User is offline   Psycho87 

#7

I want to fix known bugs and others when I find them, and I do want to add some features such as hardware accelerated rendering and TROR, but my primary goal is to produce a code base for other people to modify and add to.
0

User is offline   Micky C 

  • Honored Donor

#8

View PostHendricks266, on 21 June 2016 - 12:43 PM, said:


I am taking an entirely different approach that I'm not quite ready to talk about, so I'm afraid there isn't much use in collaborating.



We won't tell anyone about your source code heist plans. Operation TX's 12. Starring:
  • TerminX
  • Hendricks266
  • Plagman
  • Icecoldduke
  • Helixhorned
  • Trooper Dan
  • MBlackwell
  • The Cat Burglar from the Simpsons
  • Rhonie
  • Lunick
  • Yatta, and introducing:
  • That guy allegedly working on the eduke multiplayer code that isn't on the forum.

If any more are needed, some of these guys might be able to help:



This post has been edited by Micky C: 21 June 2016 - 06:09 PM

5

User is offline   Lunick 

#9

You can't put me before Yatta!
0

User is offline   Mark 

#10

you forgot about " The Mechanic"
0

User is offline   Micky C 

  • Honored Donor

#11

View PostMark., on 21 June 2016 - 06:50 PM, said:

you forgot about " The Mechanic"


I'm saving him for the sequel, which is about getting the Redneck Rampage source. So naturally it won't be as good, like the actual sequel.
0

#12

View PostPsycho87, on 21 June 2016 - 12:25 PM, said:

I would very much like for other people to join in.

I will tell you right now that won't happen. If this project is going to go anywhere its going to be because you kicked ass.
0

User is offline   Psycho87 

#13

Hopefully I can get most of the game ported, but if all I'll get done is the BUILD engine with optional hardware acceleration, I think it'd already have been worth the effort.

I just ported a couple more BUILD engine functions and I'll do the actual drawing functions soon. Hopefully that will result in significantly better performance at high resolutions.
2

#14

View PostPsycho87, on 23 June 2016 - 12:36 PM, said:

Hopefully I can get most of the game ported, but if all I'll get done is the BUILD engine with optional hardware acceleration, I think it'd already have been worth the effort.

I just ported a couple more BUILD engine functions and I'll do the actual drawing functions soon. Hopefully that will result in significantly better performance at high resolutions.

Your approach seems solid, and I think if everything goes well, you'll have something great for people to use.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #15

Are you mixing BUILD engine code with DOSBox code? If so, distributing binaries of BloodBox violates the GPL because the DOSBox developers have not granted a linking exception to BUILD. :)

A while ago Plagman had suggested a very similar idea to what you're doing here, but this is one of the reasons why my approach evolved.
0

User is offline   Psycho87 

#16

It appears that providing the BUILD stuff as a plugin doesn't solve the problem either, so I'd either have to get permission from Ken Silverman or the DosBox team?

I highly doubt either side would take issue with this project, so hopefuly I can get this resolved.
0

User is offline   Micky C 

  • Honored Donor

#17

Don't forget the people who coded the non-engine parts of the game.
0

User is offline   Psycho87 

#18

Should that really be a problem? Currently reading this: http://xlengine.com/...topic.php?t=640. I have deleted the IDA databases from github, so I'm not releasing the reverse engineered stuff either, only my reimplementation.
0

User is offline   Micky C 

  • Honored Donor

#19

No idea, I just wanted to be absolutely sure you didn't leave anyone out.
0

User is offline   deuxsonic 

#20

Would anyone have the source on a non-air-gapped server or net-connected computer? This is the problem, just don't know where exactly it is... How did they figure out Strife's workings?
0

User is offline   Player Lin 

#21

View Postdeuxsonic, on 24 June 2016 - 03:49 AM, said:

How did they figure out Strife's workings?


I guess this one has been ask so many times... :P

http://doomwiki.org/...ife_source_code

Strife's source code was lost(unless someone finally found it on somewhere in future...just nobody found the source code even with some trails), but since Strife was still a DooM engine game, so Kaiser was reverse engineering the Strife.exe all by himself and then made the SvStrife port(and try to made it nearly consistency with original Strife), so you can say it just an approximately port. :( And now all DooM source ports which supported Strife are based on Kaiser's works, included the Strife: Veteran Edition.

Without the source code, it still possible, but somebody needed to spend a lot of works to finger it out and try to port it. :)

This post has been edited by Player Lin: 24 June 2016 - 06:16 AM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #22

View PostPsycho87, on 24 June 2016 - 02:08 AM, said:

It appears that providing the BUILD stuff as a plugin doesn't solve the problem either, so I'd either have to get permission from Ken Silverman or the DosBox team?

You would need it from every person who has maintained ownership of code in DOSBox that is licensed under the GPL.

View PostMicky C, on 24 June 2016 - 02:15 AM, said:

Don't forget the people who coded the non-engine parts of the game.

Yes, good point. They would need to provide a linking exception both to BUILD and to whatever reverse-engineered non-GPL code you include. Moreover, if you distribute substantial parts of BLOOD.EXE, or a derivative work based on it (reverse engineered source code), you are violating the copyright of Atari/WB and they could C&D you, or worse. I don't think it's likely but it is a possibility.

View PostPsycho87, on 24 June 2016 - 02:29 AM, said:

Should that really be a problem? Currently reading this: http://xlengine.com/...topic.php?t=640.

Most of that thread is bickering about the Daggerfall EULA, which I agree is non-binding and unenforceable. However, copyright concerns stand. Any executable or source code based on BLOOD.EXE that Lucius distributes would violate copyright.

This is why my approach happens to differ from Lucius'. Unfortunately, between ruling out DOSBox, offline RE-ing, and by-sight reimplementation, all the easy options are gone, which is why it has taken me months.
1

User is offline   MusicallyInspired 

  • The Sarien Encounter

#23

I feel like open source, GPL licenses and all that are not all they're cracked up to be when you get into seemingly petty matters like this that stop good things from happening. Excluding the Blood EXE copyright stuff, obviously, though that's a shame in itself that the source for that hasn't been released which would solve all of these problems...
1

User is offline   Micky C 

  • Honored Donor

#24

View PostHendricks266, on 24 June 2016 - 07:05 AM, said:

This is why my approach happens to differ from Lucius'. Unfortunately, between ruling out DOSBox, offline RE-ing, and by-sight reimplementation, all the easy options are gone, which is why it has taken me months.


Gee, I'm not even sure what your approach could possibly be. I'm fairly confident it involves eduke32 somehow but beyond this speculation...
0

User is offline   Player Lin 

#25

I hate the games which falls into the copyright hell, even just port them would be a mess and shitload of works that may let whoever had interest then give up due spend too many time and lost interest. :)
0

User is offline   TerminX 

  • el fundador

  #26

View PostMicky C, on 24 June 2016 - 06:53 PM, said:

Gee, I'm not even sure what your approach could possibly be. I'm fairly confident it involves eduke32 somehow but beyond this speculation...

Patience, young grasshopper.
1

User is offline   Hendricks266 

  • Weaponized Autism

  #27

(:))

...or as I like to put it,

Posted Image

See you in 2030.
0

User is offline   Psycho87 

#28

I believe the only way to get an accurate port is by reverse engineering the original game, so I have decided to continue working on BloodBox regardless of the issues raised above until either I'm done or Lucius releases something better.

This post has been edited by Psycho87: 25 June 2016 - 03:21 AM

3

User is offline   deuxsonic 

#29

Reverse-engineering something for the purposes of compatibility is legal I believe so I think you're okay. Good luck.
0

User is offline   Psycho87 

#30

Thanks. And yeah, even if it's illegal, It's not like I'm distributing the game's data or anything, so I doubt they'd come after Lucius or me.
3

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options