diff --git a/Documentation/Changes.txt b/Documentation/Changes.txt
index 82b1be14a..d0afb4a13 100644
--- a/Documentation/Changes.txt
+++ b/Documentation/Changes.txt
@@ -1,12 +1,26 @@
Version 1.0.1
=============
+- Added antialiasing support.
+- Fixed some issues with shimmying between diagonal ledges and walls.
- Fixed rope transparency.
+- Fixed objects disappearing under certain angles at the edges of the screen.
- Fixed incorrect polerope grabbing.
- Fixed camera behaviour with pushable blocks.
- Fixed minecart unduck on inclines.
+- Fixed quadbike dismount with jump key and allow to shoot big gun with action key.
+- Fixed rollingball incorrectly killing Lara in water and in jump.
+- Fixed resurfacing on underwater death.
+- Fixed ripples not appearing on water connections higher than room bottom.
+- Prevent title music audio from starting in a random place.
+- Update harpoon speed on room change.
+- Timer.Create now lets you choose the units to display remaining time.
+- Fatal script errors now boot you to the title (it will crash if the title itself has these errors).
+- SetFarView has been removed, and Flow.Level.farView is now uncapped.
+- DisplayString text will now be cleared when a level is exited or reloaded.
+- EventSequence.lua has been added and documented.
Version 1.0
===========
-First beta release.
\ No newline at end of file
+First beta release.
diff --git a/Documentation/config.ld b/Documentation/config.ld
index 0ccfa96d2..b8d6f9397 100644
--- a/Documentation/config.ld
+++ b/Documentation/config.ld
@@ -9,9 +9,13 @@ new_type("tenclass", "2 Classes", true)
new_type("tenprimitive", "3 Primitive Classes", true)
new_type("enum", "4 Enums", true)
new_type("luautil", "5 Lua utility modules", true)
+
+not_luadoc = true
+
+local version = "1.0.1"
project = "TombEngine"
-title = "TombEngine Lua API"
-description = "TombEngine scripting interface"
+title = "TombEngine " .. version .. " Lua API"
+description = "TombEngine " .. version .. " scripting interface"
full_description = [[Welcome to the TombEngine scripting API. This is a work in progress and some information might be wrong or outdated. Please also note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse. At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on the wiki at https://github.com/MontyTRC89/TombEngine/wiki.
####Module Hierarchy (boring but important)
Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN.
@@ -24,7 +28,7 @@ This will put the modules and classes in the global table. In other words, it me
local door = GetMoveableByName("door_type4_14")
####Always check logs/TENLog.txt
-If you are scripting levels, TombEngine will often crash, even if `errorMode` (see Flow.Settings) is set to `ErrorMode.WARN` or `ErrorMode.SILENT`.
+If you are scripting levels, TombEngine will often kick you back to the title screen, even if `errorMode` (see Flow.Settings) is set to `ErrorMode.WARN` or `ErrorMode.SILENT`.
This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing `end` at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless.
@@ -34,10 +38,11 @@ Enjoy.
\- _squidshire_
]]
+
style = true
wrap = true
template = true
-format = 'markdown'
+format='markdown'
no_space_before_args = true
custom_display_name_handler = function(item, default_handler)
diff --git a/Documentation/doc/1 modules/Effects.html b/Documentation/doc/1 modules/Effects.html
index be67759aa..acb3a242b 100644
--- a/Documentation/doc/1 modules/Effects.html
+++ b/Documentation/doc/1 modules/Effects.html
@@ -3,7 +3,7 @@
- TombEngine Lua API
+ TombEngine 1.0.1 Lua API
@@ -77,6 +77,7 @@
blendModeBlendID
- (default TEN.Misc.BlendID.ALPHABLEND) How will we blend this with its surroundings?
+ (default TEN.Effects.BlendID.ALPHABLEND) How will we blend this with its surroundings?
@@ -221,30 +218,6 @@ Must be a .jpg or .png image.
-
-
-
- SetFarView(farview)
-
-
- Maximum draw distance.
-The maximum draw distance, in sectors (blocks), of any level in the game.
-This is equivalent to TRNG's WorldFarView variable.
-(not yet implemented)
-
-
-
Parameters:
-
-
farview
- byte
- Number of sectors. Must be in the range [1, 127].
-
-
-
-
-
-
-
settings.lua
@@ -380,7 +353,7 @@ Specify which translations in the strings table correspond to which languages.
(Flow.Fog) omni fog RGB color and distance.
As seen in TR4's Desert Railroad.
- If not provided, distance fog will be black.
-
-
(not yet implemented)
+ If not provided, distance fog will be black.
@@ -441,26 +440,6 @@ Invisible
-
-
-
- farView
-
-
- (byte) The maximum draw distance for level.
-Given in sectors (blocks).
-Must be in the range [1, 127], and equal to or less than the value passed to SetGameFarView.
-
-
This is equivalent to TRNG's LevelFarView variable.
-
-
(not yet implemented)
-
-
-
-
-
-
-
@@ -491,6 +470,24 @@ Must be in the range [1, 127], and equal to or less than the value passed to Set
+
+
+
+ farView
+
+
+ (int) The maximum draw distance for level.
+Given in sectors (blocks).
+Must be at least 4.
+
+
This is equivalent to TRNG's LevelFarView variable.
+
+
+
+
+
+
+
Functions
@@ -522,7 +519,7 @@ Must be in the range [1, 127], and equal to or less than the value passed to Set
Basic timer - after a specified number of seconds, the specified thing happens.
-
Usage:
+
Example usage:
local Timer = require("Timer")
-LevelFuncs.FinishTimer = function(healthWhenStarted, victoryMessage)
- DoSomething(healthWhenStarted, victoryMessage)
+-- This will be called when the timer runs out
+LevelFuncs.FinishTimer = function(healthWhenStarted, victoryMessage)
+ -- Open a door, display a message, make an explosion... whatever you wish
+ DoSomething(healthWhenStarted, victoryMessage)
end
-LevelFuncs.TriggerTimer = function(obj)
- local myTimer = Timer.Create("my_timer", 5.0, false, true, "FinishTimer", Lara:GetHP(), "Well done!")
+-- This function triggers the timer
+LevelFuncs.TriggerTimer = function(obj)
+ local myTimer = Timer.Create("my_timer",
+ 5.0,
+ false,
+ {minutes = false, seconds = true, deciseconds = true},
+ "FinishTimer",
+ Lara:GetHP(),
+ "Well done!")
myTimer:Start()
end
@@ -114,7 +124,7 @@ LevelFuncs.OnControlPhase = function(dt)
- Create (but do not start) a new timer.
+ Create (but do not start) a new timer.
+
+
You have the option of displaying the remaining time on the clock. Timer format details:
+
+
-- deciseconds are 1/10th of a second
+
+-- mins:secs
+local myTimeFormat1 = {minutes = true, seconds = true, deciseconds = false}
+
+-- also mins:secs
+local myTimeFormat2 = {minutes = true, seconds = true}
+
+-- secs:decisecs
+local myTimeFormat3 = {seconds = true, deciseconds = true}
+
+-- secs; also what is printed if you pass true instead of a table
+local myTimeFormat4 = {seconds = true}
+
+
+
At any given time, only one timer can show its countdown.
+
+
Use this sparingly; in the classics, timed challenges did not have visible countdowns. For shorter timers, the gameplay benefit from showing the remaining time might not be necessary, and could interfere with the atmosphere of the level.
Parameters:
@@ -192,16 +231,17 @@ LevelFuncs.OnControlPhase = function(dt)
bool
if true, the timer will start again immediately after the time has elapsed
-
showString
- bool
- if true, the remaining time, rounded up, will show at the bottom of the screen. At any given time, only one timer can show its remaining time.
+
timerFormat
+ table or bool
+ If a table is given, the remaining time will be shown as a string, formatted according to the values in the table. If true, the remaining seconds, rounded up, will show at the bottom of the screen. If false, the remaining time will not be shown on screen.
funcstring
- The name of the LevelFunc member to call when the time is up
+ The name of the LevelFunc member to call when the time is upssss
-
funcArgs
- the arguments with which the above function will be called
+
...
+ a variable number of arguments with which the above function will be called
+ (optional)
Welcome to the TombEngine scripting API. This is a work in progress and some information might be wrong or outdated. Please also note that this is primarily a reference document, not a tutorial, so expect descriptions to be fairly sparse. At the time of writing, there is a tutorial describing the basics of Lua, as well as a number of example scripts, on the wiki at https://github.com/MontyTRC89/TombEngine/wiki.
Module Hierarchy (boring but important)
Other than the "special tables" (GameVars, LevelVars and LevelFuncs), every module described herein is held in a master table called TEN.
@@ -95,7 +96,7 @@ Util.ShortenTENCalls()
Always check logs/TENLog.txt
-
If you are scripting levels, TombEngine will often crash, even if errorMode (see Flow.Settings) is set to ErrorMode.WARN or ErrorMode.SILENT.
+
If you are scripting levels, TombEngine will often kick you back to the title screen, even if errorMode (see Flow.Settings) is set to ErrorMode.WARN or ErrorMode.SILENT.
This might get annoying, but it's on purpose. If your Lua script contains a syntax error (e.g. you're missing end at the end of a function), the Lua interpreter will not be able to continue running the script. If it tried to keep running, you'd probably see some pretty strange behaviour, and would possibly get a crash regardless.