Commit Graph

172 Commits (master)

Author SHA1 Message Date
orwell96 74c8784b21 Fix command + Update zip file - Version 1.8 2017-05-22 16:18:24 +02:00
orwell96 d22b9fb011 Add Digtron compatibility
Override digtron's item-place function to be able to place tracks with digtrons.
2017-05-22 15:44:25 +02:00
orwell96 9132c5d996 Fix some 'undeclared assignment' warnings 2017-05-22 15:13:43 +02:00
orwell96 0f14562112 Fix Syntax Error 2017-05-22 15:08:10 +02:00
orwell96 d85f95ad10 Fix issue #40
Was caused by arrowconn not being set. Instructs user to revisit.
2017-05-22 15:01:38 +02:00
orwell96 5fe0ba1f24 Remove the debug setting 2017-05-22 14:59:35 +02:00
orwell96 b6cbc36192 Fix a series of bugs
- Prevent min_iot from becoming a comma value, which caused a major problem on the linuxworks server
- Fix previous commit
- also restore the nodedb file after a crash
Other changes:
- add chatcommand to update the nodedb after using WorldEdit
2017-05-22 14:56:41 +02:00
orwell96 2f2a859e08 Don't invoke conway on a path item that has been over-generated
This breaks ATC systems that are based on wronly switched switches, but fixes a series of bugs (esp. setting train recovery positions at a place where no tracks are)
2017-05-15 12:46:58 +02:00
orwell96 da884afbb1 write the saved nodedb state back to the map when restoring after a crash
also, print a complete stack trace when an error happens
also, don't replace nodes in the nodedb when worldedit has been used
2017-05-12 21:57:51 +02:00
orwell96 5aaf493cef Remove pos_to_string whereever possible to prevent crashes 2017-05-12 19:59:42 +02:00
orwell96 dbe13e67f1 Relicensing media under CC-BY-SA 2017-05-04 16:50:44 +02:00
orwell96 28717b4d65 Performance improvements: Don't clear paths unless absolutely necessary
instead delete path elements that are too far from the train one-by-one
Also when switching a switch or changing rails, only clear train paths of trains that are nearby.
2017-05-03 16:31:13 +02:00
orwell96 0c7144bcc4 Merge nocrash branch into master and merging it with the unified functions so that restoring works how it should
Also fix minor bugs and an occasional crash with couples
2017-04-29 19:44:43 +02:00
orwell96 331db7ba5f Unify globalstep, load and save of all components into single functions 2017-04-29 19:13:15 +02:00
orwell96 f42b01c74b Add pcall wrapper to prevent server crashes when advtrains throws an error
Instead, read save files again and restore state before the crash
Rebased to latest commit
2017-04-29 14:53:00 +02:00
orwell96 337db2a573 Add Andrew's Cross 2017-04-27 15:33:40 +02:00
orwell96 64dcbad3d2 Fix bug introduced by last commit (revert change) 2017-04-12 15:11:44 +02:00
orwell96 fe8794b353 Add privilege for basic train operation.
This privilege is granted to singleplayer by default, but is not granted on servers. This prevents unexperienced or evil players from breaking automatic train operation on servers.
2017-04-09 15:17:51 +02:00
orwell96 4ea222fd6a record_protection_violation: fix player name not being passed 2017-04-07 23:06:02 +02:00
orwell96 e795f51293 Fix #59 2017-04-05 13:35:39 +02:00
orwell96 0447e43be9 Actually check for protection when placing trains and use the train_place privilege 2017-04-02 17:07:58 +02:00
orwell96 327b12d488 Assert some variable types obtained from lua automation 2017-03-30 22:17:54 +02:00
orwell96 606c129f57 Add support to display text to passengers and on the outside of the train
Outside is currently displayed as infotext. TODO: signs-like draw it on the wagon
FIXME: When object properties are set, for some reason the animation restarts
2017-03-30 21:51:45 +02:00
orwell96 b5a5d9035f Respect protection_bypass privilege, fix crash with areas and properly record protection violations 2017-03-30 21:21:03 +02:00
orwell96 a091ac2e1d Fix privilege enforcement being useless
Privilege violations caused an error message but didn't abort the operation
2017-03-16 22:04:32 +01:00
orwell96 ba0e75a692 Fix Atc arrows pointing into wrong direction 2017-03-12 19:27:40 +01:00
orwell96 dab50fe064 Screw buttonlike rules for wall signals and use regular rules. 2017-03-12 12:19:18 +01:00
orwell96 e9fb8f9f1b Redo rail models
Use multiple textures for slope objects, include mbb's rail textures and make curves and switches look better. Also add cable template.
2017-03-12 12:19:18 +01:00
orwell96 0dd40c2434 Don't drop items in creative mode when player gets overrun by train 2017-03-11 22:19:01 +01:00
orwell96 4187d2504c "Sneak" instead of "Shift" for the sneak key 2017-03-09 13:22:11 +01:00
orwell96 1137dad2fe Update manual and include everything in repo 2017-03-09 12:05:50 +01:00
orwell96 272c7b1390 Improve debug outputs of couples and increase maximum distance 2017-03-03 10:56:58 +01:00
orwell96 71ff39637f Only get on by walking in when there's a platform, improve get off handling 2017-02-28 16:25:32 +01:00
orwell96 d51a00c823 Add passive component naming 2017-02-28 14:38:59 +01:00
orwell96 aa2ec0fc03 Add ceiling-mounted signal
This is the wall signal as ceiling variant. Because the trackdb can only save 4 rotation values, we need a ceiling version of this.
2017-02-28 13:39:38 +01:00
orwell96 be1ac1e68e Fix collision issues 2017-02-21 11:39:13 +01:00
orwell96 3b354fb085 Also check positions on high platforms at entering doors 2017-02-21 11:38:17 +01:00
orwell96 56cbfc2c85 Only place rails on solid nodes 2017-02-21 11:02:25 +01:00
orwell96 6b5f5ea345 Fix manual operation of mesecon switches 2017-02-20 11:31:14 +01:00
orwell96 e4e76322ba Fix crash when ATC rail exists but no command is saved.
Crash was caused by a concatenation for a debug message. atprint can handle nil if passed as separate parameter
Setting the train's atc command to nil just means that there is no command.
2017-02-20 11:14:37 +01:00
orwell96 e97287614c don't pass unexistant variable to train_step_b (fixes #46) 2017-02-17 15:30:34 +01:00
orwell96 38fecddff9 use mesecons_switch as correct dependency for luaautomation 2017-02-15 21:29:34 +01:00
orwell96 5eac1d1d27 fix crash on seatpc nil 2017-02-15 21:19:30 +01:00
orwell96 5b7a06fe0f fix #34 - end_index not set when step_a returned in phase 2 2017-02-15 19:45:43 +01:00
orwell96 3f382974b8 Proper implementation for getting on by walking into train, rework damage and player controls in train, fix death and join bugs, do not spawn bones on death 2017-02-09 00:13:36 +01:00
orwell96 4abb967f92 Merge PR from gpcf (Get on by walking in) 2017-02-07 22:10:48 +01:00
orwell96 9f862a158c Use identical proxy environment with swapped metatable to not having to setfenv every function in F. 2017-02-07 22:06:39 +01:00
orwell96 3f54727e4f Check if node is actually loaded before querying get_meta()
Known to cause a segfault in engine sometimes.
2017-02-05 22:54:31 +01:00
orwell96 d84c23f084 Do not invalidate paths unnecessarily
Recomputing paths needs time and computing power, so do this only when really necessary
2017-02-05 20:41:31 +01:00
orwell96 648e501f46 Fix "lock couples" checkbox on wagon properties form 2017-02-05 20:14:37 +01:00
orwell96 b31229d62e Fix ATC components being randomly ignored by trains.
Also add warnings to off_track stuff
Also pack for release
2017-02-05 17:57:46 +01:00
Gabriel Pérez-Cerezo 746e328b7b
Merge branch 'master' of https://github.com/orwell96/advtrains 2017-02-05 16:32:53 +01:00
orwell96 c79be69aef Fix itrainmap 2017-02-05 13:21:06 +01:00
orwell96 af14d57557 Fix LuaAtc Interrupt saving
The timer was loaded, but not saved, leading to it being counted from 0 upwards every restart, which of course broke interrupts.
2017-02-05 12:42:39 +01:00
orwell96 d4975a7003 Even more bugfixes
- add translations of all index values to invert_train
- fix on_leave_node callbacks not being called when train reverses
- fix callbacks on train creation and destruction
- Fix warning when saving ATC rail info
2017-02-04 21:09:20 +01:00
orwell96 61e48fff28 Commit 1.6.2
- Add some more stuff to API for LuaATC rails
- Warn on strange events even if debug info is disabled
- save atlatc on shutdown too
- fix detector rails in unloaded chunks
- do not fail silently in simple ATC rails
2017-02-04 18:35:34 +01:00
orwell96 b3ce833df8 fix up stuff in itrainmap 2017-02-03 20:43:46 +01:00
orwell96 328d5054a1 Revert change to node pos hashes, and rewrite trackdb to use individual coordinates
The precision of integers was not sufficient for saving pos node hashes in most cases, leading to strange bugs.
This fixes broken ATC rails, broken LuaAutomation stuff and trackdb on Windows.
Probably also fixes trains randomly stopping.
2017-02-03 20:40:30 +01:00
orwell96 a72dda17be Add quick position lookup by punching nodes 2017-02-03 15:40:44 +01:00
orwell96 f74ef2a456 add wallmounted light signal 2017-02-03 14:14:45 +01:00
orwell96 82efe2e773 Fix itrainmap not working 2017-02-03 10:27:34 +01:00
orwell96 4882abb1c0 Merge PR from mbb: add better textures and crafts 2017-02-02 23:07:09 +01:00
mbblp 54b78023d7 add better textures and crafts 2017-02-02 23:06:24 +01:00
orwell96 bcf82ed70d Add documentation and pack for release 2017-02-02 22:26:43 +01:00
orwell96 948482a99e LuaAutomation: Add interrupt to the ingame API and implement initialization code handling and env management 2017-02-02 21:14:20 +01:00
orwell96 b19033b224 LuaAutomation - Basic component implementation
Implements the base code for LuaAutomation, an ATC rail and a punch-operated 'operation panel' as well as interface for passive components.
Changes in advtrains code where neccessary.
Supported passive components are light signals, switches and mesecon switches
2017-02-02 17:17:39 +01:00
orwell96 a8f9e3d43e Fix collision to work with pos node hashes 2017-02-02 16:39:16 +01:00
orwell96 f6d1157ba1 Lua automation - initial incomplete coding 2017-02-02 00:02:11 +01:00
orwell96 78e936bea7 Replace all table indices that were pos_to_string strings with node hashes.
Lua table string lookup consumes about 10 times more time than numeric indices
2017-01-31 20:52:02 +01:00
orwell96 01f0d2c445 Join itrainmap mod into the modpack 2017-01-31 20:36:38 +01:00
orwell96 3ca1115142 Remove lua_atc from advtrains main mod. 2017-01-31 20:36:03 +01:00
orwell96 1648de4114 Limit dtime to prevent trains moving too far in a single step
and update zip
2017-01-29 21:50:11 +01:00
orwell96 90390dfc98 Add getter calls for raw nodedb
(required for itrainmap mod)
2017-01-29 21:24:40 +01:00
orwell96 4b63e8d9d6 Fix wagon properties not saved on button click 2017-01-29 21:24:03 +01:00
Gabriel Pérez-Cerezo bfd24ee43a
Found out why collision box does not fit train 2017-01-29 12:52:51 +01:00
Gabriel Pérez-Cerezo 5f01cd2d5a
Added getting on and off by walking in and out. Default seat on subway is now passenger seat. 2017-01-29 12:37:47 +01:00
orwell96 724b03abb9 Fix a crash, update translations and zip file 2017-01-28 17:58:19 +01:00
orwell96 83c859b13a Multiple major changes:
- implement wagon properties and seat group access check
- fix a server warning about unassigned variable
- refill advtrains.detector.on_node every step
- reorder train step function(s):
  - fixed bug that some atc rails were not recognized
  - saving some extra calculations
  - integrate path prediction directly to step functions and separate it
  (also see comment directly above train_step_a())
- add couple lock feature (can't couple or discouple from wagon with locked couples)
- ...
2017-01-28 16:46:24 +01:00
orwell96 262f425966 remove tunnelborer
better now than too late.
use 'digtron' for more realistic functionality.
2017-01-25 22:06:54 +01:00
orwell96 e322e00e3d Document door animation parameters 2017-01-25 21:55:40 +01:00
orwell96 54b566e7a7 Add forced get-on/off to prevent trains being unusable due to closed doors.
else you would be able to lock yourself out of trains or lock players in trains with no escape.
2017-01-25 21:38:08 +01:00
orwell96 ffc49f0972 Rewrite seating system
Players no longer need to worry where to sit down.
2017-01-25 21:23:54 +01:00
orwell96 bd0a4a51b8 Fix typo that caused crash 2017-01-25 12:26:43 +01:00
orwell96 edc7f1ec5f Fix find&replace mistake that broke ATC command interpretation 2017-01-24 21:10:53 +01:00
orwell96 29886d5657 Fix crash when train went off track 2017-01-24 20:41:37 +01:00
orwell96 a2d0b1b8f2 Create new models and textures for japanese train 2017-01-24 19:09:33 +01:00
orwell96 631e77b189 Do not recover wagons from minetest's static storage
Since missing wagons are spawned anyway by update_trainpart_properties, this only causes visible trouble when a train gets into loaded area. also avoids placing entities into unloaded terrain randomly.
2017-01-23 21:36:38 +01:00
orwell96 fac8b518c9 Add intllib support and German translation 2017-01-23 21:29:59 +01:00
orwell96 203a36a5eb Merge branch 'master' of https://github.com/orwell96/advtrains 2017-01-19 20:36:00 +01:00
Gabriel Pérez-Cerezo 647b3c8a4c
Removed last occurrence of minetest.env 2017-01-18 23:28:23 +01:00
Gabriel Pérez-Cerezo fc67d4531a
Merged priv 2017-01-18 23:22:06 +01:00
orwell96 6060556796 Make signals work with the nodedb again 2017-01-18 21:19:03 +01:00
orwell96 7ab4154216 Add 'collision mercy' to get stuck trains out of walls.
Also change the collision logic so that the collision mercy can't be activated accidentally.
2017-01-18 20:51:47 +01:00
orwell96 f7dbd932ca Update manual 2017-01-18 19:04:02 +01:00
orwell96 f52b67a37c Add door controls and ATC commands 2017-01-18 19:03:27 +01:00
orwell96 d73289237e Make 'print debug messages' a setting 2017-01-18 17:50:40 +01:00
orwell96 ea01c9605c Update readme.txt with contributions 2017-01-17 22:34:15 +01:00
orwell96 2f5ebd63c3 Add detailed steam engine contributed by mbb and Krokoschlange 2017-01-17 22:31:29 +01:00
orwell96 262826fb8c Correct view offset and wagon_span on new subway wagon 2017-01-17 22:22:30 +01:00
orwell96 b6e2aeea71 Add animation for steam engine
I needed to completely rewrite the animation because irrlicht couldn't handle the animation NathanS created.
2017-01-17 21:54:50 +01:00