Commit Graph

334 Commits (9d7b21c451ac5ae9475236814f33e5627061ece1)

Author SHA1 Message Date
orwell96 af46d180f8 lower capacity of freight cars 2017-06-08 11:13:53 +02:00
orwell96 3abd0f0e34 Change log level of save_all message to atprint() 2017-06-08 11:07:45 +02:00
orwell96 e1fce28fac Do not clear the F table when running the init code fails 2017-06-08 11:05:24 +02:00
orwell96 d78450bb7c Merge pull request #67 from AntumDeluge/settings
Replace deprecated methods
2017-06-08 10:52:36 +02:00
AntumDeluge f6b00f882c Check if 'digtron' global exists before calling in condition:
Fixes 'Undeclared global variable "digtron"'.
2017-06-07 17:38:25 -07:00
AntumDeluge 7db4a5f039 Replace deprecated methods:
- 'setting_get' with 'settings:get'
- 'setting_getbool' with 'settings:get_bool'
2017-06-07 03:53:52 -07:00
gpcf 92af0b53e5 Add loading/unloading rails (#63)
Pull request by gpcf
Will update zip file with next release
2017-05-31 21:32:05 +02:00
orwell96 93250ca3a2 Fix still broken ndb restoring, and make sid() honor nil values 2017-05-31 15:55:45 +02:00
orwell96 ca6989b560 Fix detector rails changing to default orientation
Release 1.8.1
2017-05-30 15:19:24 +02:00
orwell96 b8a3ac038f Re-add option for debugging features and add option to disable collisions 2017-05-30 15:16:56 +02:00
orwell96 5ebadbd6ff Fix collision bug (trains driving through each other) 2017-05-30 14:55:41 +02:00
orwell96 e484654f89 Re-add debug ring buffer and print its contents on a lua crash
When the crash on linuxworks has been fixed, the ringbuffer will go into master and behind an option
also fix last commit
2017-05-30 09:20:01 +02:00
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
orwell96 9c400f7d43 Model, animate, texture and integrate new subway wagon
engine follows!
2017-01-17 20:02:25 +01:00
orwell96 275579c364 Don't crash when wagons do not exist but show a warning instead 2017-01-17 15:29:37 +01:00
orwell96 b649ea5fe4 replace trackdb by nodedb
- trackdb is kept for large rail networks to still work but not saved anymore
- saving node name and param2 instead of track connections, so also signals can be saved.
- small serialization format
- fast access times, almost no redundancy
2017-01-16 20:09:37 +01:00
orwell96 dc8b47a066 Unite all save data (except the track database) into a single save file 2017-01-12 17:33:43 +01:00
orwell96 ddd42163be Prevent non-initialized wagons from accidentally polluting the world
sometimes wagons get created/loaded but are not initialized. These stand around and can't be removed.
Now if a wagon does not get initialized after 20 steps, something went wrong and the wagon is removed.
2017-01-10 22:54:10 +01:00
orwell96 c2a92608fa Fix restoring the detector.on_node table when paths get cleaned up 2017-01-10 22:44:27 +01:00
orwell96 0d2ec6f49a Clean up debug message code 2017-01-08 21:10:02 +01:00
orwell96 9bc069f825 Add fancy passenger wagon 2017-01-06 17:54:16 +01:00
orwell96 c0957b8a31 also print ATC reverse command warning
and move atc_command.txt at a better place
2017-01-04 21:49:16 +01:00
orwell96 bf68c6f0d5 Purge all debug messages and change 'print' function name to 'atprint'
Ready for 2.0 release.
2017-01-04 21:34:18 +01:00
orwell96 dd4e989639 update makefile to new circumstances 2017-01-04 21:25:32 +01:00
orwell96 400cb55bb0 Fix bug in track database
the entire database was broken due to a not removed indexing
2017-01-04 21:23:15 +01:00
orwell96 2d0b51b897 Restructure mod directory 2017-01-04 19:10:03 +01:00
orwell96 853a9e690e Add Automatic Train Control system 2017-01-04 12:02:00 +01:00
orwell96 a9d43ce2ca add API documentation 2017-01-03 18:48:00 +01:00
orwell96 cc6cf09ac8 make detector code clear entries of trains that do not exist 2017-01-02 18:54:24 +01:00
orwell96 79d0549c8a unify update_trainpart_properties and check_trainpartload 2017-01-02 18:40:49 +01:00
orwell96 2a924d086a fix discouple not disappearing and a logical mistake with owners 2017-01-02 13:55:25 +01:00
orwell96 8784ee41dd Do not duplicate definitions of 'print' in every file 2017-01-02 13:49:20 +01:00
orwell96 987cd5b7f0 spawn couple on train collision
also fix empty trains hanging around for too long
2016-12-31 15:16:19 +01:00
orwell96 d08e202346 remove train type concept and calculate train's capabilities based on used wagons 2016-12-22 18:55:10 +01:00
orwell96 f806ed9eee Turning mod into a modpack and separating the trains from the core mod 2016-12-20 14:17:39 +01:00