News:

The Forum Rules and Guidelines
Our forum has Rules and Guidelines. Please, be kind and read them ;).

Schedule features: technical discussion

Started by jamespetts, January 22, 2018, 11:15:36 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jamespetts

I have now added support for simple consist orders (i.e., ones not involving dividing and combining) into the path explorer, which was one of the most difficult aspects of this whole project.

I should note, however, that this has not been tested yet, and is likely to need bug fixes.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

I have attempted to fix the consist order UI so that I can test consist orders properly, but, after many, many hours of intensive work all of which have failed to make any progress at all, this is not something that is possible for me to do (at least, not within anything approaching a reasonable amount of time - I would anticipate it taking several months of intensive work every night, with a very large proportion of the time spent simply trying to understand how the existing code is intended to work, and that would just be to get the UI to work in a basic way as originally intended).

In the circumstances, it is likely to be difficult to progress and test this properly while there is nobody able to assist with the UI (Ranran is currently marked as "hibernating", which means, I assume, that he is taking a break from Simutrans-Extended development).

I may be able to work on depot related maintenance code and possibly some enhancements to the way that comfort works pending the resumption of UI work, but I do not anticipate being able to progress the actual consist orders work (including testing the basic consist orders or adding the dividing/combining type of consist order) without being able to set up a consist order in the UI and test it.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

As an update to this: I note that Ranran is now marked as "on indefinite leave". This means that we are not likely to be able to progress this project (and thus make progress towards any major new features) without an alternative way of implementing the UI.

Would anyone else be interested in helping to work on the UI for this? Even a very basic UI, much simpler than Ranran was working on, would be extremely helpful, as we need a UI to be able to test what we have and to continue to add more features. If anyone is potentially interested in this, please let me know in this thread or by private message.

Incidentally, and for the avoidance of doubt, I mean no criticism of Ranran, who has done huge amounts of extremely high quality work to improve Simutrans-Extended over the years: this is just a spare time hobby for all of us, after all.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

Excellent, thank you very much for that. Apologies for the delay in responding: I have been especially busy in work this week.

I have tried to merge the ex15-2401 branch into my local ex15 branch, but have encountered the following errors on compiling (trying at this stage with Linux):

===> CXX dataobj/translator.cc
In file included from dataobj/../script/script.h:12,
                from dataobj/scenario.cc:31:
dataobj/../script/api_function.h: At global scope:
dataobj/../script/api_function.h:381:136: error: 'std::index_sequence' has not been declared
  381 |                static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<R(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
      |                                                                                                                                        ^~~~~~~~~~~~~~
dataobj/../script/api_function.h:381:150: error: expected ',' or '...' before '<' token
  381 |                static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<R(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
      |                                                                                                                                                      ^
dataobj/../script/api_function.h: In static member function 'static SQInteger script_api::call_std_function_t<R(A1, As ...)>::call_function(HSQUIRRELVM, const std::function<R(A1, As ...)>&, bool)':
dataobj/../script/api_function.h:396:83: error: 'index_sequence_for' is not a member of 'std'
  396 |                        return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
      |                                                                                  ^~~~~~~~~~~~~~~~~~
dataobj/../script/api_function.h:396:104: error: expected primary-expression before '...' token
  396 |                        return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
      |                                                                                                        ^~~
dataobj/../script/api_function.h: At global scope:
dataobj/../script/api_function.h:405:139: error: 'std::index_sequence' has not been declared
  405 |                static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<void(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
      |                                                                                                                                          ^~~~~~~~~~~~~~
dataobj/../script/api_function.h:405:153: error: expected ',' or '...' before '<' token
  405 |                static SQInteger call_function_helper(HSQUIRRELVM vm, std::function<void(A1,As...)> const& func, bool act_as_member, std::index_sequence<is...>)
      |                                                                                                                                                        ^
dataobj/../script/api_function.h: In static member function 'static SQInteger script_api::call_std_function_t<void(A1, As ...)>::call_function(HSQUIRRELVM, const std::function<void(A1, As ...)>&, bool)':
dataobj/../script/api_function.h:419:83: error: 'index_sequence_for' is not a member of 'std'
  419 |                        return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
      |                                                                                  ^~~~~~~~~~~~~~~~~~
dataobj/../script/api_function.h:419:104: error: expected primary-expression before '...' token
  419 |                        return call_function_helper(vm, func, act_as_member, std::index_sequence_for<As...>{});
      |                                                                                                        ^~~
dataobj/scenario.cc: In member function 'bool scenario_t::open_info_win(const char*) const':
dataobj/scenario.cc:749:44: warning: unused parameter 'tab' [-Wunused-parameter]
  749 | bool scenario_t::open_info_win(const char* tab) const
      |                                ~~~~~~~~~~~~^~~
make: *** [common.mk:55: simutrans/dataobj/scenario.o] Error 1
make: *** Waiting for unfinished jobs....

Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

jamespetts

Quote from: Ranran(retired) on February 11, 2024, 12:33:13 PMFor your information.
Ex-15 branch has been unmaintained for a while, and when I started working on it again, I encountered some build errors that needed to be fixed.

1. In my MSVC environment, finance.cc was missing include <algorithm>
https://github.com/Ranran-the-JuicyPork/simutrans-ex-fix/commit/4566838409628bb2953f6bf88e4be637c18bd2f7

2. MSVC failed to compile due to an error message that says override is marked but not overridden.
https://github.com/Ranran-the-JuicyPork/simutrans-ex-fix/commit/1e9dca9238d12a37a42610d6c2d699dc102794a5

I think recent changes may cause this sort of error depending on the environment.
Thank you for that. I will have to look into this when I get some time.

For reference, for the last few months (since summer 2023), I have not had much time to work on Simutrans, largely because I have been contending with major refurbishments at my house, which have been very disruptive. On top of that, I have been very busy in work, and there is a deadline to work towards on a railway modelling project at the club of which I am a member.

It is very good to see that some progress has been made on making the UI for the consist orders in the ex-15 branch work. If I can get to a point where I can get a working UI test the underlying features in this, then I can hopefully start to work on this again, first of all by working out the reason for these compile errors (and thank you, Ranran, for the assistance above). I am unlikely to be able to do the sort of major work that re-starting work on the ex-15 branch would entail before my house refurbishments are complete, however, and, even at that stage, I will probably want to see if I can fix a few bugs in the current version before turning back to the new version.

In any event, it is very good to know that one of the things that would have made progress in the ex-15 branch more challenging (i.e., me needing to learn how the UI code worked to be able to make big changes to it to allow me to test the features) may well have been overcome. Thank you very much for this contribution.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.