1.0.3 (ECM) original release post
Posted: Sat Dec 13, 2008 10:41 pm
Multi 1.0.3 english\german
This Mod has been nick named "the new Vanilla"
HOW TO INSTALL
Installing Mods
BEFORE INSTALLING ANY MOD ENGLISH.RES AND GERMAN.RES MUST BE IN Vanilla (1.0.2) game path (default C:\botf) for more info see this post;
viewtopic.php?name=Forums&file=viewtopic&t=534
After starting installer you will be able to select if you want a desktop icon for mod. Next option you will have is what base language to install mod on.
Example 1:
if installing UDM english "you speak german" and select german as base install for mod, you would get as much german in game as that mod will allow.
Example 2:
if installing BOP english, since there is 2 language versions there is no reason not to use same base language.
Before installer completes You will be asked to select 3D setting for stbof.ini DIRECT3D or SOFTWARE
WARNING: If you change install path of mod or 1.0.2 there can be no spaces in path
Example: C:\Program Files\botf This will cause multiplayer sessions to fail.
WARNING: If same version of mod is installed to different location or even different language of same mod, install path and start menu path should be changed so not to overwrite first version that was installed.
NOTE: If more than one version of same mod installed. It is unknown what version warzone will select to run. (this is not recommended)
English Download Link;
Multi_BOTF_1.0.3_English
File size 2.39mb
hard drive space required 312mb
German Download Link;
Multi_BOTF_1.0.3_German
File size 2.35mb
hard drive space required 314mb
Here is an example of my desktop and start menu after installing new mods and installer;
All mods and 1.0.2 are playable
This is the original game, But with most of the bugs fixed here is a all the changes:
Note: all this info is in read me file.
1. Cardassian range bug By: Gowron/ketteringdave
trek.exe position 0x18E8D4 Replace 01 with 02
2. AI fleet buildup bug By: Joker
New ship order is: starbase, outpost, command, strike cruiser, cruiser, destroyer, scout, colony, troop.
3. Cardassian territory-pic bug By: Joker
replaced c_check.tga with that from Joker's page
4. Combined textures for explosions By: thunderchero
Explosion textures replaced so all races use same files to lower palette count (102)
5. Torpedo and phaser By Joker/thunderchero
Phasers are from Jokers Phaser mod and torpedoes are new images by thunderchero
6. German taskforce description bug By: DCER
trek.exe at 0x17FAFF replace "Sternueuschiffe" with "Sternenschiffe"
7. German inhabitant display bug (german only)By: DCER
trek.exe at 0x18058C "..Humans.." should be replaced with "Menschen.."
trek.exe at 0xFAE87 "68 8C 27 58 00" should be replaced with "68 8A 27 58 00"
8. Starvation rounding bug By: Gowron
trek.exe position 0x42AE9
Replace
Code:
DC 0D D4 88 57 00 D9 FA DC 0D DC 88 57 00 31 D2 8B 43 40 89 94 24 B8 00 00 00 89 84 24 B4 00 00 00 DF AC 24 B4 00 00 00 D9 C9 D9 E0 DE C9
with
Code:
DC 0D DC 88 57 00 D9 FA 31 D2 8B 43 40 89 94 24 B8 00 00 00 89 84 24 B4 00 00 00 DF AC 24 B4 00 00 00 DE C9 D9 E8 DE C1 90 90 90 90 D9 E0
9. Bandi advancement bug By: Gowron
racetech.tec position 0x158
Replace
Code:
C829 0000 342A 0000 A02A 0000 0C2B 0000 0000
with
Code:
5C29 0000 C829 0000 342A 0000 A02A 0000 0C2B
10. Image errors fixed By: thunderchero
Resized cun_b.tga, fun_a.tga, antedean.tga to proper size
11. Enraged Antedean bug By: Gowron
aiminor.wtf - "Antideans" has to be changed to "Antedeans"
12. ship stats pop-up bug By: DCER
before -> after
Code:
1.Remove ShipBox error message
At 0x17FC28 fill with 15x 0x00
2.Disable error message at 0x13D208
75 1C -> EB 1C
jnz short loc_53DE26 -> jmp short loc_53DE26
3.Change code flow at 0xEC14A
0F 84 14 01 00 00 -> E9 BB 10 05 00 90
jz loc_4ECE64 -> jmp loc_53DE0A, nop
4.Overwrite error message at 0x13D20A
BB 24 7A 58 00, BA 47 00 00 00, B8 34 7A 58 00, E8 92 A3 FC FF, 85
C0, 74 04, 85 C9, 74 E4
->
89 2D 28 1E 58 00, 0F 84 4E F0 FA FF, E9 35 EF FA FF, B8 71 05 00
00, E8 BB D4 F4 FF, C3
mov ebx, offset aWidgetNull
mov edx, 47h
mov eax, offset aWidget_c
call sub_5081B0
test eax, eax
jz short loc_53DE26
test ecx, ecx
jz short loc_53DE0A
->
mov offsetShipboxNull, ebp ; stores whether this ship is unknown for later use
jz loc_4ECE64 ; if 0 load normal image else load ufo image
jmp loc_4ECD50
mov eax, 571
call sub_48B2E0
retn
5.Disable error message at 0x6EDD0
75 A1 -> EB 1A
jnz short loc_46F9EC -> jmp short loc_46F9EC
6.Overwrite error message at 0x6EDD2
BE 2C AD 57 00, BB EC AD 57 00, BA 2D 01 00 00, 89 F0, E8 C8 87 09 00, 85 C0, 75 EB
->
E8 44 E4 0C 00, 50, 8D 44 24 04, 50, E8 B7 43 0A 00, 83 C4 08, E9 36 B9 07 00, 90, 90
mov esi, offset a____SourceG_22
mov ebx, offset aShipclassmemIs
mov edx, 12Dh
mov eax, esi
call sub_5081B0
test eax, eax
jnz short loc_46F9D7
->
call sub_53DE1B
push eax
lea eax, [esp + 04h]
push eax
call sprintf_
add esp, 8
jmp loc_4EB320
2x nop
7.Disable error message at 0xEC043
75 1C -> EB 1C
jnz short loc_4ECC61 -> jmp short loc_4ECC61
8.Overwrite error message at 0xEC045
BB 28 1E 58 00, BA 2B 03 00 00, B8 AC 1D 58 00, E8 57 B5 01 00, 85 C0, 74 04, 85 F6, 74 E4
->
83 3D 28 1E 58 00 00, 0F 85 80 2D F8 FF, 8B 94 24 A8 02 00 00, E9 14 E6 FF FF, 90, 90, 90
mov ebx, ds:aShipboxNull
mov edx, 32Bh
mov eax, offset a____SourceU_71
call sub_5081B0
test eax, eax
jz short loc_4ECC61
->
cmp ds:aShipboxNull, 0
jnz loc_46F9D2
mov edx, [esp + 2A8h]
jmp loc_4EB272
3x nop
9.Change code flow at 0xEA66B
8B 94 24 A8 02 00 00 -> E9 D5 19 00 00, 90, 90
mov edx, [esp + 2A8h]
->
jmp loc_4ECC45
2x nop
13. Disable the experience bar for ships that you don't own By: DCER
Code:
10.Replace owner check with one checking for player empire at 0xEC1CB
66 83 FA 05 0F 83 08 01 00 00 31 C0
->
3A 15 2A 2B 5A 00 0F 85 44 00 00 00
cmp dx, 5
jnb loc_4ECEDD
xor eax, eax
->
cmp dl, ds:byte_5A2B2A
jnz loc_4ECE1B
14. card/kling buttons on object database (German only)
swap the names:
ct_pop0.tga with ct_rnd0.tga
ct_pop1.tga with ct_rnd1.tga
New images for:
BEVÃ-LKERUNG from kt_pop0.tga & kt_pop1.tga
FORSCHUNG from kt_rnd0.tga & kt_rnd1.tga
15. Building upgrade cost bug By:DCER
At 0x5EAE9:
66 89 F8
replace with
90 89 F8
At 0x5FAC8:
66 89 C2
replace with
90 89 C2
At 0x5FAEB:
66 89 56 04 31 D2 66 8B 56 04
replace with
90 89 56 04 90 90 90 90 90 90
At 0x5FB03:
66 01 42 2A
replace with
90 01 42 2A
16. Downgrade bug By:DCER
trek.exe locations: 0x7010B, 0x70113, 0x7011B replace 7F with 7D
and at 0x70123 -> 7E with 7C
17. Galaxy II 640points beam bug By: Spocks-cuddly-tribble\DCER
shiplist.sst - relative offsets of GalaxyII (replace the following values with zeros):
+0xB4 (01), +0xB8 (96), +0xBC (08 ), +0xC0 (50), +0xC4 (0C), +0xC8 (01)
and at +0x101-103 (E0 75 40)
18. klingon starbase distance bug By: Gowron/Jigalypuff
All placement values cut by 50% with UE
19. Terraform graphic bug By: DCER
switch vtos.ani at 0x177214 and dtol.ani following it in trek.exe
20. build and scrap 50% round up By: Gowron
The new code to be inserted is
Code:
40 // inc eax
D1E8 // shr eax, 1
The first statement increases the ship value by one credit, and the second statement divides it by 2, rounding down. Put together, this means that the
ship cost is halved and rounded UP.
(if you want it to be rounded down instead, just replace the "40" by a "90")
Of course, inserting new code into a subroutine moves the following part of that subroutine to a different offset, and that means that all code references
pointing to or from that area need to be updated correspondingly, else they'd become invalid (read: "crash to desktop".
So here's what to do:
Step 1: Inserting the New Code
Open trek.exe, copy the area at position 0x68837 through 0x68866 (48 bytes in total) and paste it at position 0x6883A through 0x68869.
Then, go to position 0x68837 again and change
Code:
01 07 46
to
Code:
40 D1 E8
Step 2: Fixing the References
Don't do this before Step 1!!
At position 0x687F2, change
Code:
7E 50
to
Code:
7E 53
At position 0x68835, change
Code:
74 02
to
Code:
74 05
At position 0x68845, change
Code:
7C B2
to
Code:
7C AF
At position 0x68850, change
Code:
E8 72 E2 FE FF
to
Code:
E8 6F E2 FE FF
At position 0x68859, change
Code:
E8 65 00 FE FF
to
Code:
E8 62 00 FE FF
I want to thank everyone involved in finding all the bug and fixes
thunderchero
This Mod has been nick named "the new Vanilla"
HOW TO INSTALL
Installing Mods
BEFORE INSTALLING ANY MOD ENGLISH.RES AND GERMAN.RES MUST BE IN Vanilla (1.0.2) game path (default C:\botf) for more info see this post;
viewtopic.php?name=Forums&file=viewtopic&t=534
After starting installer you will be able to select if you want a desktop icon for mod. Next option you will have is what base language to install mod on.
Example 1:
if installing UDM english "you speak german" and select german as base install for mod, you would get as much german in game as that mod will allow.
Example 2:
if installing BOP english, since there is 2 language versions there is no reason not to use same base language.
Before installer completes You will be asked to select 3D setting for stbof.ini DIRECT3D or SOFTWARE
WARNING: If you change install path of mod or 1.0.2 there can be no spaces in path
Example: C:\Program Files\botf This will cause multiplayer sessions to fail.
WARNING: If same version of mod is installed to different location or even different language of same mod, install path and start menu path should be changed so not to overwrite first version that was installed.
NOTE: If more than one version of same mod installed. It is unknown what version warzone will select to run. (this is not recommended)
English Download Link;
Multi_BOTF_1.0.3_English
File size 2.39mb
hard drive space required 312mb
German Download Link;
Multi_BOTF_1.0.3_German
File size 2.35mb
hard drive space required 314mb
Here is an example of my desktop and start menu after installing new mods and installer;
All mods and 1.0.2 are playable
This is the original game, But with most of the bugs fixed here is a all the changes:
Note: all this info is in read me file.
1. Cardassian range bug By: Gowron/ketteringdave
trek.exe position 0x18E8D4 Replace 01 with 02
2. AI fleet buildup bug By: Joker
New ship order is: starbase, outpost, command, strike cruiser, cruiser, destroyer, scout, colony, troop.
3. Cardassian territory-pic bug By: Joker
replaced c_check.tga with that from Joker's page
4. Combined textures for explosions By: thunderchero
Explosion textures replaced so all races use same files to lower palette count (102)
5. Torpedo and phaser By Joker/thunderchero
Phasers are from Jokers Phaser mod and torpedoes are new images by thunderchero
6. German taskforce description bug By: DCER
trek.exe at 0x17FAFF replace "Sternueuschiffe" with "Sternenschiffe"
7. German inhabitant display bug (german only)By: DCER
trek.exe at 0x18058C "..Humans.." should be replaced with "Menschen.."
trek.exe at 0xFAE87 "68 8C 27 58 00" should be replaced with "68 8A 27 58 00"
8. Starvation rounding bug By: Gowron
trek.exe position 0x42AE9
Replace
Code:
DC 0D D4 88 57 00 D9 FA DC 0D DC 88 57 00 31 D2 8B 43 40 89 94 24 B8 00 00 00 89 84 24 B4 00 00 00 DF AC 24 B4 00 00 00 D9 C9 D9 E0 DE C9
with
Code:
DC 0D DC 88 57 00 D9 FA 31 D2 8B 43 40 89 94 24 B8 00 00 00 89 84 24 B4 00 00 00 DF AC 24 B4 00 00 00 DE C9 D9 E8 DE C1 90 90 90 90 D9 E0
9. Bandi advancement bug By: Gowron
racetech.tec position 0x158
Replace
Code:
C829 0000 342A 0000 A02A 0000 0C2B 0000 0000
with
Code:
5C29 0000 C829 0000 342A 0000 A02A 0000 0C2B
10. Image errors fixed By: thunderchero
Resized cun_b.tga, fun_a.tga, antedean.tga to proper size
11. Enraged Antedean bug By: Gowron
aiminor.wtf - "Antideans" has to be changed to "Antedeans"
12. ship stats pop-up bug By: DCER
before -> after
Code:
1.Remove ShipBox error message
At 0x17FC28 fill with 15x 0x00
2.Disable error message at 0x13D208
75 1C -> EB 1C
jnz short loc_53DE26 -> jmp short loc_53DE26
3.Change code flow at 0xEC14A
0F 84 14 01 00 00 -> E9 BB 10 05 00 90
jz loc_4ECE64 -> jmp loc_53DE0A, nop
4.Overwrite error message at 0x13D20A
BB 24 7A 58 00, BA 47 00 00 00, B8 34 7A 58 00, E8 92 A3 FC FF, 85
C0, 74 04, 85 C9, 74 E4
->
89 2D 28 1E 58 00, 0F 84 4E F0 FA FF, E9 35 EF FA FF, B8 71 05 00
00, E8 BB D4 F4 FF, C3
mov ebx, offset aWidgetNull
mov edx, 47h
mov eax, offset aWidget_c
call sub_5081B0
test eax, eax
jz short loc_53DE26
test ecx, ecx
jz short loc_53DE0A
->
mov offsetShipboxNull, ebp ; stores whether this ship is unknown for later use
jz loc_4ECE64 ; if 0 load normal image else load ufo image
jmp loc_4ECD50
mov eax, 571
call sub_48B2E0
retn
5.Disable error message at 0x6EDD0
75 A1 -> EB 1A
jnz short loc_46F9EC -> jmp short loc_46F9EC
6.Overwrite error message at 0x6EDD2
BE 2C AD 57 00, BB EC AD 57 00, BA 2D 01 00 00, 89 F0, E8 C8 87 09 00, 85 C0, 75 EB
->
E8 44 E4 0C 00, 50, 8D 44 24 04, 50, E8 B7 43 0A 00, 83 C4 08, E9 36 B9 07 00, 90, 90
mov esi, offset a____SourceG_22
mov ebx, offset aShipclassmemIs
mov edx, 12Dh
mov eax, esi
call sub_5081B0
test eax, eax
jnz short loc_46F9D7
->
call sub_53DE1B
push eax
lea eax, [esp + 04h]
push eax
call sprintf_
add esp, 8
jmp loc_4EB320
2x nop
7.Disable error message at 0xEC043
75 1C -> EB 1C
jnz short loc_4ECC61 -> jmp short loc_4ECC61
8.Overwrite error message at 0xEC045
BB 28 1E 58 00, BA 2B 03 00 00, B8 AC 1D 58 00, E8 57 B5 01 00, 85 C0, 74 04, 85 F6, 74 E4
->
83 3D 28 1E 58 00 00, 0F 85 80 2D F8 FF, 8B 94 24 A8 02 00 00, E9 14 E6 FF FF, 90, 90, 90
mov ebx, ds:aShipboxNull
mov edx, 32Bh
mov eax, offset a____SourceU_71
call sub_5081B0
test eax, eax
jz short loc_4ECC61
->
cmp ds:aShipboxNull, 0
jnz loc_46F9D2
mov edx, [esp + 2A8h]
jmp loc_4EB272
3x nop
9.Change code flow at 0xEA66B
8B 94 24 A8 02 00 00 -> E9 D5 19 00 00, 90, 90
mov edx, [esp + 2A8h]
->
jmp loc_4ECC45
2x nop
13. Disable the experience bar for ships that you don't own By: DCER
Code:
10.Replace owner check with one checking for player empire at 0xEC1CB
66 83 FA 05 0F 83 08 01 00 00 31 C0
->
3A 15 2A 2B 5A 00 0F 85 44 00 00 00
cmp dx, 5
jnb loc_4ECEDD
xor eax, eax
->
cmp dl, ds:byte_5A2B2A
jnz loc_4ECE1B
14. card/kling buttons on object database (German only)
swap the names:
ct_pop0.tga with ct_rnd0.tga
ct_pop1.tga with ct_rnd1.tga
New images for:
BEVÃ-LKERUNG from kt_pop0.tga & kt_pop1.tga
FORSCHUNG from kt_rnd0.tga & kt_rnd1.tga
15. Building upgrade cost bug By:DCER
At 0x5EAE9:
66 89 F8
replace with
90 89 F8
At 0x5FAC8:
66 89 C2
replace with
90 89 C2
At 0x5FAEB:
66 89 56 04 31 D2 66 8B 56 04
replace with
90 89 56 04 90 90 90 90 90 90
At 0x5FB03:
66 01 42 2A
replace with
90 01 42 2A
16. Downgrade bug By:DCER
trek.exe locations: 0x7010B, 0x70113, 0x7011B replace 7F with 7D
and at 0x70123 -> 7E with 7C
17. Galaxy II 640points beam bug By: Spocks-cuddly-tribble\DCER
shiplist.sst - relative offsets of GalaxyII (replace the following values with zeros):
+0xB4 (01), +0xB8 (96), +0xBC (08 ), +0xC0 (50), +0xC4 (0C), +0xC8 (01)
and at +0x101-103 (E0 75 40)
18. klingon starbase distance bug By: Gowron/Jigalypuff
All placement values cut by 50% with UE
19. Terraform graphic bug By: DCER
switch vtos.ani at 0x177214 and dtol.ani following it in trek.exe
20. build and scrap 50% round up By: Gowron
The new code to be inserted is
Code:
40 // inc eax
D1E8 // shr eax, 1
The first statement increases the ship value by one credit, and the second statement divides it by 2, rounding down. Put together, this means that the
ship cost is halved and rounded UP.
(if you want it to be rounded down instead, just replace the "40" by a "90")
Of course, inserting new code into a subroutine moves the following part of that subroutine to a different offset, and that means that all code references
pointing to or from that area need to be updated correspondingly, else they'd become invalid (read: "crash to desktop".
So here's what to do:
Step 1: Inserting the New Code
Open trek.exe, copy the area at position 0x68837 through 0x68866 (48 bytes in total) and paste it at position 0x6883A through 0x68869.
Then, go to position 0x68837 again and change
Code:
01 07 46
to
Code:
40 D1 E8
Step 2: Fixing the References
Don't do this before Step 1!!
At position 0x687F2, change
Code:
7E 50
to
Code:
7E 53
At position 0x68835, change
Code:
74 02
to
Code:
74 05
At position 0x68845, change
Code:
7C B2
to
Code:
7C AF
At position 0x68850, change
Code:
E8 72 E2 FE FF
to
Code:
E8 6F E2 FE FF
At position 0x68859, change
Code:
E8 65 00 FE FF
to
Code:
E8 62 00 FE FF
I want to thank everyone involved in finding all the bug and fixes
thunderchero