mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00

* WIP TR4 style mirrors * Fixed broken previous commit * Added debris and effects drawing in mirrored rooms; Some optimizations for early skip non mirrored items; * Implemented mirrors in file format * Use default argument value for ReadCount * Use emplace_back and camera room number * Fixed items culling in mirror rooms; Changed file format for having also virtual room; * Cached reflection matrix of mirrors at load time; Fixed lighting in mirrored items; Added bad cull mode after mirrore debrises drawing; Added mirroring of dynamic lights; * Fixed ambient occlusion in mirrored rooms * Fixed random statics positions while shooting * Added logic for hiding selectively reflecting moveables and statics; Added enabled flag for disabling mirrros in the future with LUA; * Simplify renderer code, remove excessive if statements * Update level.cpp * Decopypaste more mirror-related code * More decopypasting, rename inline function, remove unneeded arg * Remove unnecessary inline, dont reflect room lights * Fixed billboards, reintroduce ReflectVectorOptionally * Fixed dynamic lights * Update RendererDraw.cpp * Fixed 3D sprites mirroring * Draw reflections also when Lara is in any of mirrored rooms, not only camera * Remove unrelated changes * Remove lambdas * Rename fields for consistency * Reorganize renderer code a little * Rename * Spawn mirrored dynamic lights in Lara rooms too * Update RendererDraw.cpp * Add option to reflect sprites * Update CHANGELOG.md * Fixed mirrors on savegame reloading * Fix Lara not mirroring when using binoculars * Continuation of previous fix * Fixed 3D non-sorted sprites mirroring * Fixed various binocular / lasersight issues * Fix meshswap, if object is not present * Don't perform binocular animations if binocular meshswap is not present * Rename CamOldPos and use more consistent type for it * Update title.bin * Fixed #1521 * Fixed #1522 * Interpolate Lara flare light, hide target highlighters in binos * Fix #1525 * Fixed postprocessing order and precompile shaders to speed-up loading * Fixed #1524 * Fixed silent crash if several Lara objects are present in level near dynamic light with shadow * Implement proper soft shadows * Disable self-shadowing for now, as it's causing visual glitches * Update RendererInit.cpp * Update CHANGELOG.md * Update CHANGELOG.md * Formatting pass * Revert "Formatting pass" This reverts commit88a8ba24de
. * Reapply "Formatting pass" This reverts commitbecd24da93
. * Update RendererFrame.cpp * Final formatting pass --------- Co-authored-by: MontyTRC89 <montyhammet@hotmail.it> Co-authored-by: Jakub <80340234+Jakub768@users.noreply.github.com> Co-authored-by: Sezz <sezzary@outlook.com>
129 lines
2.5 KiB
Lua
129 lines
2.5 KiB
Lua
-- Place in this Lua script all the levels of your game
|
|
-- Title is mandatory and must be the first level.
|
|
|
|
-- Intro image is a splash screen which appears before actual loading screen.
|
|
-- If you don't want it to appear, just remove this line.
|
|
|
|
Flow.SetIntroImagePath("Screens\\main.jpg")
|
|
|
|
-- Set overall amount of secrets in game.
|
|
-- If set to 0, secrets won't be displayed in statistics.
|
|
|
|
Flow.SetTotalSecretCount(5)
|
|
|
|
-- Enable/Disable Point Filter (square, unsmoothed pixels).
|
|
|
|
Flow.EnablePointFilter(false)
|
|
|
|
-- Enable/Disable saving and loading of savegames.
|
|
|
|
Flow.EnableLoadSave(true)
|
|
|
|
-- Disable/enable flycheat globally
|
|
|
|
Flow.EnableFlyCheat(true)
|
|
|
|
-- Disable/enable Lara drawing in title level
|
|
|
|
Flow.EnableLaraInTitle(false)
|
|
|
|
-- Disable/enable level selection in title level
|
|
|
|
Flow.EnableLevelSelect(true)
|
|
|
|
-- Disable/enable mass pickup (collect all pickups at once)
|
|
|
|
Flow.EnableMassPickup(true)
|
|
|
|
--------------------------------------------------
|
|
|
|
-- Title level
|
|
|
|
title = Level.new()
|
|
|
|
title.ambientTrack = "108"
|
|
title.levelFile = "Data\\title.ten"
|
|
title.scriptFile = "Scripts\\Levels\\title.lua"
|
|
title.loadScreenFile = "Screens\\Main.png"
|
|
|
|
Flow.AddLevel(title)
|
|
|
|
--------------------------------------------------
|
|
|
|
-- First test level
|
|
|
|
test = Level.new()
|
|
|
|
test.nameKey = "level_test"
|
|
test.scriptFile = "Scripts\\Levels\\New_Level.lua"
|
|
test.ambientTrack = "108"
|
|
test.levelFile = "Data\\Tut1_water.ten"
|
|
test.loadScreenFile = "Screens\\rome.jpg"
|
|
|
|
-- 0 is no weather, 1 is rain, 2 is snow.
|
|
-- Strength varies from 0 to 1 (floating-point value, e.g. 0.5 means half-strength).
|
|
|
|
test.weather = 0
|
|
test.weatherStrength = 1
|
|
|
|
test.horizon = true
|
|
test.farView = 20
|
|
test.layer1 = Flow.SkyLayer.new(Color.new(255, 0, 0), 15)
|
|
test.fog = Flow.Fog.new(Color.new(0, 0, 0), 12, 20)
|
|
|
|
-- Presets for inventory item placement.
|
|
|
|
test.objects = {
|
|
InventoryItem.new(
|
|
"tut1_ba_cartouche1",
|
|
ObjID.PUZZLE_ITEM3_COMBO1,
|
|
0,
|
|
0.5,
|
|
Rotation.new(0, 0, 0),
|
|
RotationAxis.Y,
|
|
-1,
|
|
ItemAction.USE
|
|
),
|
|
InventoryItem.new(
|
|
"tut1_ba_cartouche2",
|
|
ObjID.PUZZLE_ITEM3_COMBO2,
|
|
0,
|
|
0.5,
|
|
Rotation.new(0, 0, 0),
|
|
RotationAxis.Y,
|
|
-1,
|
|
ItemAction.USE
|
|
),
|
|
InventoryItem.new(
|
|
"tut1_ba_cartouche",
|
|
ObjID.PUZZLE_ITEM3,
|
|
0,
|
|
0.5,
|
|
Rotation.new(0, 0, 0),
|
|
RotationAxis.Y,
|
|
-1,
|
|
ItemAction.USE
|
|
),
|
|
InventoryItem.new(
|
|
"tut1_hand_orion",
|
|
ObjID.PUZZLE_ITEM6,
|
|
0,
|
|
0.5,
|
|
Rotation.new(270, 180, 0),
|
|
RotationAxis.Y,
|
|
-1,
|
|
ItemAction.USE
|
|
),
|
|
InventoryItem.new(
|
|
"tut1_hand_sirius",
|
|
ObjID.PUZZLE_ITEM8,
|
|
0,
|
|
0.5,
|
|
Rotation.new(270, 180, 0),
|
|
RotationAxis.X,
|
|
-1,
|
|
ItemAction.USE
|
|
)
|
|
}
|
|
|
|
Flow.AddLevel(test)
|