SUBSIM Radio Room Forums

SUBSIM Radio Room Forums (https://www.subsim.com/radioroom/index.php)
-   SHIII Mods Workshop (https://www.subsim.com/radioroom/forumdisplay.php?f=195)
-   -   Realism- and gameplay-related hardcode fixes for SH3.EXE (https://www.subsim.com/radioroom/showthread.php?t=174225)

LGN1 09-14-10 03:01 AM

Quote:

Originally Posted by SquareSteelBar (Post 1492506)
The noDVD patch released 2005 in www was done by a hacker named 'Reloaded'. That wasn't surely no official one...

Wouldn't be the term 'cracker' more appropriate than 'hacker' :)

SquareSteelBar 09-14-10 03:06 AM

Yep :up:

h.sie 09-14-10 03:27 AM

Although I never played a career, I very often saved and reloaded certain savegames for modding purposes, and I cannot remember the last CTD I had, even in heavily modded configurations. For me, SH3 (unprotected .exe) has been very stable and I've never understood all those people here lament about instability. These different versions could be the reason for that different behaviour and now I understand what privateer wrote. So I fully agree with LGN1. A fully modded, stable game is worth the little money. it's one box of cigarrettes.

On the other hand: Why buy the same game twice? This argument is also understandable.

Using the bsdiff/bspatch tools, it is very easy (for a person who has both versions: starforced and non-starforced) to make a binary difference of both versions and create a "transformation kit" which transformates starforced exe (plus .dlls) into non-starforced simply by applying the binary difference. this is exactly what I did: The patch V15A is simply the binary difference between my modded exe (with longer repair times) and the original exe.

bsdiff:
V15A = Modded exe - Original Exe

bspatch:
Modded exe = Original exe + V15A.

Since the original exe is required for this patching/transformation, it will only work for legal owners of the software, so that no illegal duplication of the software takes place.


@LGN1: Currently no progress regarding CO2. Still trying to automatically move the lazy 1WO on the bridge when surfacing. And to make the nearest visual contact report more inaccurate.

h.sie

LGN1 09-14-10 03:45 AM

Quote:

Originally Posted by h.sie (Post 1492563)

...Still trying to automatically move the lazy 1WO on the bridge when surfacing...

Much more important than the CO2 :up: I hope you will succeed.

Cheers, LGN1

SquareSteelBar 09-14-10 03:46 AM

Quote:

Originally Posted by h.sie (Post 1492563)
...Using the bsdiff/bspatch tools, it is very easy (for a person who has both versions: starforced and non-starforced) to make a binary difference of both versions and create a "transformation kit" which transformates starforced exe (plus .dlls) into non-starforced simply by applying the binary difference. this is exactly what I did: The patch V15A is simply the binary difference between original exe and my modded exe with longer repair times...

Hmm... can't comprehend what you're doing there... :hmmm:

h.sie 09-14-10 04:20 AM

@SSB:

Lets say there is a program called xyz.exe which is buggy and is no more supported by the developers.

Now let's say I've made some useful corrections to that program and call the corrected one xyz_2.exe.

Since I do not want to support illegal software duplification, I cannot put my corrected file xyz_2.exe on a server for free download.

A solution for this problem is to only put the CHANGES, the DIFFERENCES between the two files (the corrected and the original one) on the server, because this difference is only useful for people who already have the original file. or in other words: the original is required to create the corrected file.

1. Using bsdiff I create the difference of the corrected and the original file:
PATCH = xyz_2.exe - xyz.exe

2. Then I put PATCH on a server for download.

3. The legal user of xyz.exe applies the PATCH to xyz.exe using bspatch and gets xyz_2.exe according to the relation:

xyz_2.exe = xyz.exe + PATCH.

PATCH is useless for all those who do not own xyz.exe.

Maybe now it's understandable why I don't offer any exe files for download, which indeed would make life much easier.

h.sie

SquareSteelBar 09-14-10 05:16 AM

Quote:

Originally Posted by h.sie (Post 1492579)
@SSB:

Lets say there is a program called xyz.exe which is buggy and is no more supported by the developers.

Now let's say I've made some useful corrections to that program and call the corrected one xyz_2.exe.

Since I do not want to support illegal software duplification, I cannot put my corrected file xyz_2.exe on a server for free download.

A solution for this problem is to only put the CHANGES, the DIFFERENCES between the two files (the corrected and the original one) on the server, because this difference is only useful for people who already have the original file. or in other words: the original is required to create the corrected file.

1. Using bsdiff I create the difference of the corrected and the original file:
PATCH = xyz_2.exe - xyz.exe

2. Then I put PATCH on a server for download.

3. The legal user of xyz.exe applies the PATCH to xyz.exe using bspatch and gets xyz_2.exe according to the relation:

xyz_2.exe = xyz.exe + PATCH.

PATCH is useless for all those who do not own xyz.exe.

Maybe now it's understandable why I don't offer any exe files for download, which indeed would make life much easier.

h.sie

That all was already clear for me...
---------------------------------------------------

What I didn't understand is the intention of making a binary difference of a starforced and non-starforced file...
Quote:

...Using the bsdiff/bspatch tools, it is very easy (for a person who has both versions: starforced and non-starforced) to make a binary difference of both versions...
...as the result you'll get the SF stuff but for what purpose? :88)

h.sie 09-14-10 05:21 AM

nonono. if the difference (DIFF) is made between the non-SF-exe and the SF-exe, one can easily create a non-SF-exe from the SF-exe and the DIFF. here the DIFF is not related to repair times, but much more intended to "transform" SF to NON-SF.

DIFF = NON_SF_EXE - SF_EXE (1)

Adding SF-EXE on both sides of eqn. (1) leads to eqn (2):

NON_SF_EXE = SF_EXE + DIFF (2)

SquareSteelBar 09-14-10 05:41 AM

Simple mathematics, no problem with that.
Nevertheless I can't follow your thoughts.

What's the aim of these exercises?
__________________________________________

Sorry, I got it now - my fault...

Didn't note that the NON-SF-EXE is bigger sized than the SF-EXE, not the other way around...

So that's rubbish:
Quote:

Originally Posted by SSB
...as the result you'll get the SF stuff but for what purpose?

Sorry for keeping you off your work... :oops:

h.sie 09-14-10 06:32 AM

glad you got it now. but: the NON_SF_EXE (1,3MB) is smaller sized than the SF_EXE (2,3MB?). but that does not matter, since the "-" operator used in my example above is not to be interpreted as the commonly used minus operator when substracting two numbers. so the resulting diff file is never negative ...... but it always contains the differences of the two files.

SquareSteelBar 09-14-10 06:47 AM

The point is that the DIFF includes the stuff which transforms the SF-EXE to a NON-SF-EXE... :salute:

Quote:

...NON_SF_EXE (1,3MB) is smaller sized than the SF_EXE (2,3MB?)...
No - vice versa

This was the fact I tripped over...

NON-SF-EXE [the cracked one]: 2,2 MB
NON-SF-EXE [the 'official' one]: 1,26 MB -> released by Purple Hills and Green Pepper
SF-EXE: 967 kB [the original one released on March 2005 by UBI]

h.sie 09-14-10 06:52 AM

yup. :DL. but at least one dll has also to be transformed, too. for a person who has both versions (SF and NON_SF) it could be easy to determine which files have to be transformed, and also to create the DIFF patches.

SquareSteelBar 09-14-10 06:57 AM

AFAIK 5 files:

sh3.exe
MissionEngine.dll
SimData.dll
StateMachine.dll
Utils.dll

h.sie 09-14-10 07:02 AM

Hi SSB,

  • with NON-SF-EXE I meant the 1,3MB file from Purple Hills.
  • with SF-EXE I meant the non cracked original one with SF.

My intention was not to confuse but much more to clarify.
Sorry, if I missed that purpose.

SquareSteelBar 09-14-10 07:03 AM

Quote:

Originally Posted by h.sie (Post 1492655)
...
  • with NON-SF-EXE I meant the 1,3MB file from Purple Hills...

= NON-SF-EXE from Green Pepper


All times are GMT -5. The time now is 02:59 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.