Releases: TokyoSU/TR2Main-VSEdition
v0.9.1.4
STILL Work in progress.
Big Warnings:
-
Some names have changed, check there: TR2MainDocs for more infos, this version will certainely break your TR2Main.json !!!
Also the format is more stricts, all commands need to be in lowercase or they wont work ! -
Using the TombEditor below break other game version, only use it for TR2Main !
-
Savegame format as changed, old savegame prior version v1.9.0.2 will be dead !
-
Level format changed (Again), recompile all levels (even title).
Infos:
- If you want the correct source code use this one: cf79fae
- Since the TR2Main.json have some addition, check TR2MainDocs before sending a issue.
- Check TR2Main_assets.zip for additionals assets like new xml for TombEditor or new objects like the candle flame emitter.
- Check TombEditor_TR2Main.zip, starting this version this TombEditor (Which is version 1.7.3) is required !
- Quicksand room type is not functional yet (Still WIP) !
New Fix.
- Fixed loading picture.
- Fixed inventory light direction so now it come from above which fix the passport lighting.
TR2Main Features.
- Improved EEL behaviour and attack angle, he return to initial rotation after attacking.
- Improved lighting so items and lara is accurately going to shadow (still need improvement).
TombEditor Changes.
Current version: v1.7.3
- Fixed xml so it have missing and new objects names.
- Removed redundant variables in room structure.
Minor Changes.
- Upgraded Lift (Elevator) to work in NORTH, SOUTH, WEST and EAST direction instead of only NORTH.
- Simplified OnTrapDoor(), since a trapdoor is only 1 block in size, only checking the trapdoor position is enough !
- Improved FallingBlock so even if lara is above it (like jumping above), it wont fall until lara is on it.
Internal Changes.
-
Decompiled:
XianDamage(), DrawXianLord(), InitialiseXianLord().
-
Decompiled:
PropellerControl(), FallingBlock(), FallingBlockFloor(), FallingBlockCeiling().
-
Decompiled:
InitialiseGameFlags().
-
Decompiled:
InitialiseLOTarray(), DisableBaddieAI(), EnableBaddieAI(), ClearLOT().
-
Decompiled:
ClearBodyBag().
-
Decompiled:
GetChange(), TranslateItem(), RefreshCamera(), TriggerActive(), RemoveRoomFlipItems(), AddRoomFlipItems().
-
Decompiled:
ShiftItem(), UpdateLaraRoom(), EffectSpaz(), CreatureCollision(), ObjectCollision(), DoorCollision(), TrapCollision(), ItemPushLara(), TestBoundsCollide(), TestLaraPosition(), AlignLaraPosition(), MoveLaraPosition(), Move3DPosTo3DPos().
-
Decompiled:
GetDoor().
-
Decompiled:
DrawPhaseCinematic(), DrawPhaseGame(), DrawLara(), InitInterpolate(), phd_PopMatrix_I(), phd_PushMatrix_I(), phd_RotY_I(), phd_RotX_I(), phd_RotZ_I(), phd_TranslateRel_I(), phd_TranslateRel_ID(), phd_RotYXZ_I(), phd_RotYXZsuperpack_I(), InterpolateMatrix(), InterpolateArmMatrix(), GetFrames(), GetBestFrame().
-
Decompiled:
TrapDoorControl(), TrapDoorFloor(), TrapDoorCeiling(), OnTrapDoor().
-
Decompiled:
SpikeCollision().
-
Decompiled:
CheckForHoldingState(), InitialiseNewWeapon(), LaraTargetInfo(), find_target_point(), AimWeapon(), WeaponObject().
-
Decompiled:
draw_pistols(), undraw_pistols(), ready_pistols(), draw_pistol_meshes(), undraw_pistol_mesh_left(), undraw_pistol_mesh_right().
-
Decompiled:
lara_as_walk(), lara_as_run(), lara_as_stop(), lara_as_forwardjump(), lara_as_fastback(), lara_as_fastback(), lara_as_turn_r(), lara_as_turn_l(), lara_as_death(), lara_as_fastfall(), lara_as_hang(), lara_as_reach(), lara_as_splat(), lara_as_compress(), lara_as_back(), lara_as_null(), lara_as_fastturn(), lara_as_stepright(), lara_as_stepleft(), lara_as_slide(), lara_as_backjump(), lara_as_rightjump(), lara_as_leftjump(), lara_as_upjump(), lara_as_fallback(), lara_as_hangleft(), lara_as_hangright(), lara_as_slideback(), lara_as_pushblock(), lara_as_ppready(), lara_as_pickup(), lara_as_pickupflare(), lara_as_switchon(), lara_as_usekey(), lara_as_special(), lara_as_swandive(), lara_as_fastdive(), lara_as_waterout(), lara_as_wade(), lara_as_deathslide().
-
Decompiled:
LaraFallen(), lara_default_col(), lara_col_kick(), GetLaraCollisionInfo(), LaraSlideSlope().
-
Decompiled some creatures:
- Dog and Tiger.
- Mouse.
- Jellyfish, Baracudda, Shark.
- XianSpear and XianSword.
- Worker3 (Guy with a stick (Able to climb)).
- Eel and BigEel.
Another Warnings:
- Added warning about RJF, when the game is finished with all secrets, select any level is enabled through registry, you can disable it via RemoveRJF.reg in the
extra_options -> SelectAnyLevelFix
, you can found it in theTR2Main_assets.zip
archive. - Assets like the candle flame emitter or weather sprites can be found in TR2Main_assets.zip file.
v0.9.1.3
Big Warnings:
-
Some names have changed, check there: TR2MainDocs for more infos, this version will certainely break your TR2Main.json !!!
Also the format is more stricts, all commands need to be in lowercase or they wont work ! -
Using the TombEditor below break other game version, only use it for TR2Main !
-
Savegame format as changed, old savegame prior version v1.9.0.2 will be dead !
-
Level format changed, recompile all levels (even title).
Infos:
- If you want the correct source code use this one: cf79fae
- Since the TR2Main.json have some addition, check TR2MainDocs before sending a issue.
- Check TR2Main_assets.zip for additionals assets like new xml for TombEditor or new objects like the candle flame emitter.
- Check TombEditor_TR2Main.zip, starting this version this TombEditor (Which is version 1.7.3) is required !
- Quicksand room type is not functional yet (Still WIP) !
New Fix.
- Fixed a crash when creatures is triggered.
- Fixed inventory json command in the code.
- Fixed a crash with semi_transparent and reflective array which caused crash if they not exists.
- Fixed collision with creatures.
- Fixed loading screen picture not loading.
- Possibly fixed a crash if the level as more than 370 samples defined in Sounds.tr2.xml and Main.sfx.
- Possibly fixed lara slidding on bridge.
TR2Main Features.
- Added Rain and Snow room effects, use TombEditor to change the room type.
- Added many commands for the rain and snow effect, check TR2MainDocs for all the commands !
- Example: Rain and Snow using Leoc1995 level.
- Example with customization: Acid rain
- Increased effects count from 2048 to 8192 so rain and snow can have 4096 max sprites without obstructing other effects.
- Now flare should not be below the floor when lara throw it on the floor.
- Now sound is affected by range and pitch in the Sounds.tr2.xml ! you can now customize it like TR3.
TombEditor Changes.
Current version: v1.7.3
- Increased Flipmap count from 14 to 255. (Not tested yet).
- Enabled Reverb.
- Increased the Room type:
- Normal
- Water
- Quicksand
- Rain
- Snow
- (NEW) Fixed xml so missing objects and new objects now have names.
Minor Changes.
- Ported TR3 Wind effect to TR2 allowing moving in the X and Z axis (TR2 only used the Z axis).
Internal Changes.
- Changed DirectSound to XAudio2 which allow reverberation effect, change the reverb room type in TombEditor.
- Decompiled almost all lara climb functions, still missing miscs functions.
- Decompiled CreatureCreature().
- Decompiled GetFloor(), GetHeight(), GetWaterHeight(), GetWaterDepth().
- Decompiled KillItem(), CreateItem(), RemoveActiveItem(), RemoveDrawnItem(), ItemNewRoom().
- Decompiled InitialiseLara().
- Decompiled InitialiseDyingMonk(), InitialiseDoor().
- Decompiled SkidooBaddieCollision().
- Decompiled PlaySoundEffect(), StopSoundEffect(), SOUND_EndScene(), SOUND_Stop().
- Moved Rooms Array from Executable to DLL.
Another Warnings:
- Added warning about RJF, when the game is finished with all secrets, select any level is enabled through registry, you can disable it via RemoveRJF.reg in the
extra_options -> SelectAnyLevelFix
, you can found it in theTR2Main_assets.zip
archive. - Assets like the candle flame emitter or weather sprites can be found in TR2Main_assets.zip file.
v0.9.1.2
Big Warnings:
-
Some names have changed, check there: TR2MainDocs for more infos, this version will certainely break your TR2Main.json !!!
Also the format is more stricts, all commands need to be in lowercase or they wont work ! -
Savegame format as changed, old savegame prior this version will be dead !
Infos:
- If you want the correct source code use this one: b358c1a
- Since the TR2Main.json have some addition, check TR2MainDocs before sending a issue.
- Check TR2Main_assets.zip for additionals assets like new xml for TombEditor or new objects like the candle flame emitter.
New fix.
- Fixed the Moveables.xml inside the TR2Main_assets.zip linked.
- Also fixed the secrets names being inverted.
- Fixed a crash with the savegames if you save with a creature active, seem like the savegame gets tangled up with the creatures bitflags and don't save the fact that it's a creature, which cause when you load this save to crash the game since it's trying to read a NULL creature
- Fixed the light added when the DRAW_BRIDGE is triggered, core where lazy and didnt check for the object number, they was probably thinking it was only the Mini Submarine which used it...
TR2Main features.
- Now slot 96 (SWINGING_BOX/SPIKYBALL) and slot 56 (SWINGING_SANDBAG/SPIKYBALL) can be anti_triggered !
- Will stop at frame 0.
- Now slot 84 (DETACHABLE_ICICLES) can be anti_triggered.
- Will return to this original state when anti-triggered.
- Added customize command for lara air values (check TR2MainDocs for more infos) [Levels]:
- ‘max_lara_air’ Allow to customize the maximum air of lara (Default: 1800)
- ‘no_air_damage_per_tick’ Allow to change the damage lara take when out of air (Default: 5)
- ‘restore_air_per_tick’ Allow to change the restored air count when lara get out of water (Default: 10)
- ‘unlimited_air’ Allow lara to have unlimited air (Default: false)
Minor changes.
None.
Internal changes.
- Decompiled KNIFETHROWER.
Warnings:
- Added warning about RJF, when the game is finished with all secrets, select any level is enabled through registry, you can disable it via RemoveRJF.reg in the
extra_options -> SelectAnyLevelFix
, you can found it in theTR2Main_assets.zip
archive. - Assets like the candle flame emitter or xml files for tomb_editor can be found in TR2Main_assets.zip file.
- Since the items, textures pages and objects textures counts has been increased, you need to change it in the TrCatalog.xml:
<limit name="TexPages" value="128" />
<limit name="TexInfos" value="2000" />
<limit name="ItemMaxCount" value="256" />
<limit name="ItemSafeCount" value="256" />
to
<limit name="TexPages" value="1024" />
<limit name="TexInfos" value="32768" />
<limit name="ItemMaxCount" value="1024" />
<limit name="ItemSafeCount" value="1024" />
or you can use TR2Main_assets.zip then inside go to assets/tomb_editor folder for the xml files.
v0.9.1.1
Warnings:
- If you want the correct source code use this one: ed16fd4
- Since the TR2Main.json have some addition, check TR2MainDocs before sending a issue.
- Since the Moveables.xml changed, you need to use the linked version in the download.
New fix.
- Possibly fixed lift and bridge when moving up y position more than 32768 up and down.
TR2Main features.
-
Added configuration for changing the title screen image with files you want, check TR2MainDocs for more information.
-
Added configuration for changing the UI colors, check TR2MainDocs for more information:
-
Custom xml files for TombEditor (with missing objects) (until the PR MontyTRC89/Tomb-Editor#928 is accepted) links in the downloads below.
-
Added a new object, the Candle flame emitter in slot 217 (also need the sprite to work):
-
Added configuration to customize item in the inventory, also you can examine item, check the TR2Main.json title section for an example how to do it.
Minor changes.
- Now wolf (gold) will do 1 click up and 2 clicks down like original.
Internal changes.
- Increased objects textures to 32768 from 2000.
- Increased textures pages to 1024 from 128.
Warnings:
-
Added warning about RJF, when the game is finished with all secrets, select any level is enabled through registry, you can disable it via RemoveRJF.reg in the
extra_options -> SelectAnyLevelFix
, you can found it in theTR2Main_assets.zip
archive. -
Since the items, textures pages and objects textures counts has been increased, you need to change it in the TrCatalog.xml:
<limit name="TexPages" value="128" />
<limit name="TexInfos" value="2000" />
<limit name="ItemMaxCount" value="256" />
<limit name="ItemSafeCount" value="256" />
to
<limit name="TexPages" value="1024" />
<limit name="TexInfos" value="32768" />
<limit name="ItemMaxCount" value="1024" />
<limit name="ItemSafeCount" value="1024" />
or you can use linked files.
v0.9.1.0b
Warnings:
- If you want the correct source code use this one: 0153b63
- Since the TR2Main.json have some addition, check TR2Main_info.txt before sending a issue.
New fix.
- Fixed antitrigger not doing this job.
- Fixed object number 79 (ID_FALLING_CEILING) missing the initialize code.
- Fixed enemies not storing carried items.
- Fixed crash when the game start, that was caused by dll, now you can remove every dll except winmm and fmodex which is still required for audio playing. (NEW)
- Fixed inventory changing the fov but not restoring it after exiting the savegame menu. (NEW)
TR2Main features.
None.
Minor changes.
- Dropped support for DirectX5 which is too old. (NEW)
Internal changes.
- Removed objects and statics being affected by rooms effect like flicker or glow, this will be reimplemented later because as of the current implementation, not all rooms affect objects.
Warnings:
-
Added warning about RJF, when the game is finished with all secrets, select any level is enabled through registry, you can disable it via RemoveRJF.reg in the
ExtraOptions -> SelectAnyLevelFix
, you can found it in theTR2Main_assets.zip
archive. -
Since the items count has been increased, you need to change it in the TrCatalog.xml:
<limit name="ItemMaxCount" value="256" />
<limit name="ItemSafeCount" value="256" />
to
<limit name="ItemMaxCount" value="1024" />
<limit name="ItemSafeCount" value="1024" />
v0.9.0.4
Warnings:
- If you want the correct source code use this one: 67d2a0d
- Since the TR2Main.json have some addition, check TR2Main_info.txt before sending a issue.
New fix:
- Fixed bug with CreatureMood() which caused problem with the AI behaviour.
TR2Main features.
- Added the door cheat when you are in cheat mode, use DRAW key to open door (you need to be at 1 block or less to open/close it).
- Added json configuration to make yeti explode on death.
- Now the UI is scaled based on window height size (480p,720p,1080p,1440p,1600p,4K more will result in 480p by default), should be scaled correctly now.
- Fixed air bar position not properly scaled.
- Fixed dragon front not being triggered correctly.
- Fixed boat and snowmobile driving ability, else the both fused and unexpected behavior happened.
- Improved scuba diver harpoon shooting, should be more accurate, he can get you at equal or less than 8 block.
Minor changes.
- Added warning about RJF, when the game is finished with all secrets, select any level is enabled through registry, you can disable it via RemoveRJF.reg in the
ExtraOptions -> SelectAnyLevelFix
, you can found it in theTR2Main_assets.zip
archive.
Internal changes.
- Fixed BOX_INFO height variable using unsigned short instead of short, searching lara 'should' be more accurate.
- Decompiled scuba_diver.
- Decompiled boat.
TombEditor warnings:
- Since the items count has been increased, you need to change it in the TrCatalog.xml:
<limit name="ItemMaxCount" value="256" />
<limit name="ItemSafeCount" value="256" />
to
<limit name="ItemMaxCount" value="1024" />
<limit name="ItemSafeCount" value="1024" />
[0.9.0.3-fix4] - 2024-03-24
Warnings:
- If you want the correct source code use this one: 6cbe960
- Some of the functions decompiled was removed to fix bugs, think like sinks and savegame problem should be fixed.
- Since the TR2Main.json have some addition, check it before sending a issue.
New for fix4:
- Now health/air and enemybar is clamped to the window size, they won't exceed the screen size. (NEW)
- Added json configuration to enable/disable the talion guardian next level that trigger if he die (false = enable effect) (default= false). (NEW)
- Changed json library to a optimized one (for c++) (it should speed up a bit the loading). (NEW)
- Added a new library to speed up the allocating of memory, Danath reported a significant speed up at launch,
seem like it speed up the game at high window size too (need to check more) ? (NEW) - Changed how the UI scale up, instead of being scaled by a base of 640x480, it now will scale at the current window size,
that should improve the look, but at high screen size more than 3000x2000+, it look too small !, maybe a adaptive game UI scale next ?. (NEW)
TR2Main features.
- Added enemy bars.
- Added json configuration for starting weapons and ammos.
- Added json configuration for entities health.
- Added json configuration for health bar, air bar and enemy bar position and color.
- Added json configuration for mercenary and monks to attack lara directly.
- Added json configuration for lara combat camera, to avoid targeting monks if they are not angry. (Can still explode with grenade, they will be hostile directly !)
- Added json configuration to enable/disable the enemy bar per level.
- Added blood effect to mercenary when monk attack them.
- Added water splash when lara move on water surface (only when moving above it), it won't play if she is wading or underwater.
- Added water splash when entities move on water surface (only if sound as water-only) (underwater creatures ignored).
Minor changes.
- Fixed zone loading (it was regressed to fix bug, but it seem arsunt did some check for TR2gold enemies to avoid loading specific zone which cause crash if you trigger them).
- Fixed underwater creature dying, i tried the TR2X structure OBJECT_INFO which is wrong apparently :'D since the fish was dying when triggered.
- Fixed monks attacking lara directly during battle. (decompilation bug)
- Fixed crash when lara goes on slope (walking or running). (decompilation bug)
- Fixed antitrigger.
- Fixed oneshot trigger not oneshotting.
- Fixed entities not colliding with lara.
- Fixed drawing harpoon crash, that was introduced with the enemies splash effect trying to check the current room, problem is harpoon code use room 255 which is considered like NULL which not exist.
Internal changes.
- Decompiled spider.cpp
- Decompiled monks in enemies.cpp
- Removed lot.cpp decompiled code to fix almost all pathfinding problem and crash.
- Decreased creatures max count from 12 to 5 (default).
TombEditor warnings:
- Since the items count has been increased, you need to change it in the TrCatalog.xml:
<limit name="ItemMaxCount" value="256" />
<limit name="ItemSafeCount" value="256" />
to
<limit name="ItemMaxCount" value="1024" />
<limit name="ItemSafeCount" value="1024" />
[0.9.0.2] - 2023-09-29
Warnings:
- Since the LOT and some function related to pathfinding as been decompiled, the behaviour of some entities could be affected.
So if you see some problem like tiger which don't do the same path as before don't report it, i know already 👍
So because of this, this release will rest as pre-release until all pathfinding function is decompiled or no bug about pathfinding is reported. - Missed the dll version but it's just a minor detail.
- Sink crash or not work in this version !!!!!
- If entities get to the limit (12+) then the farest one won't be override with the new one.
TR2Main features.
- Increased number of entities activated from 5 to 12.
- Added enemy bars.
- Added json configuration for starting weapons and ammos.
- Added json configuration for entities health.
- Added json configuration for health bar, air bar and enemy bar position and color.
- Added json configuration for mercenary and monks to attack lara directly.
- Added json configuration for lara combat camera, to avoid targeting monks if they are not angry. (Can still explode with grenade, they will be hostile directly !)
- Added blood effect to mercenary when monk attack them.
Minor changes.
- Improved wolf and bear code.
- Improved small spider jump chance.
- Added or improved error message when certain objects is missing when loading.
Internal changes.
- Decompiled spider.cpp
- Decompiled monks in enemies.cpp
- Decompiled lot.cpp
TombEditor warnings:
- Since the items count has been increased, you need to change it in the TrCatalog.xml:
<limit name="ItemMaxCount" value="256" />
<limit name="ItemSafeCount" value="256" />
to
<limit name="ItemMaxCount" value="1024" />
<limit name="ItemSafeCount" value="1024" />
v0.9.0.1
[0.9.0.1] - 2023-09-24 - Fix count: 3
Warning:
- Separated the assets and the required files to avoid downloading 200mb each time.
- Since the items count has been increased, you need to change it in the TrCatalog.xml on the TR2 limits section:
<limit name="ItemMaxCount" value="256" />
<limit name="ItemSafeCount" value="256" />
to
<limit name="ItemMaxCount" value="1024" />
<limit name="ItemSafeCount" value="1024" />
Danath discovered a bug with stats, since the game is not fully decompiled, kills and ammo is not counted until lara shoot function is not decompiled.
- Fixed, package was updated.
EternalCosmos discovered 2 bug with holsters and with the 3 secrets which don't give items.
- Fixed, package was updated.
EternalCosmos discovered 1 bug with pickup, which don't trigger the second trex.
- Fixed package was updated.
TR2Main bugfixes
- Fixed gamepad/joystick wrong check, it was only checking for the left motor, not both.
- Fixed directinput initialize, was using wrong enum type when switching to DX9.
- Fixed CreateEnvmapBufferSurface() return types.
- Fixed WinMain argument.
- Fixed bug introduced with the Savegame buffer size:
- Harpoon and 2 stats was not increasing. (Fix1)
- Holsters when the game start or if you reload a savegame. (Fix2)
- Secret items given when you pickup the 3 dragon. (Fix2)
- Some entity don't trigger when you pickup a secret. (Fix3)
- Moved SaveGame, SG_Point, SG_Count to DLL to avoid memory overflow.
New features
- Increased items count from 256 to 1024.
- Increased savegame size from 6KB to 16KB to avoid crash with the items count increase feature.
- Added a new library: spdlog, will be able to logs data to a files more efficiently, will be able to get debug info later one.
- Using D3DX9 library: more recent than DX7_SDK (only for DX9 version).
v0.9.0
Original version.
- Fixed Arsunt/TR2Main#32 and Arsunt/TR2Main#31