Giter VIP home page Giter VIP logo

frobtads's People

Contributors

bcressey avatar disconnect3d avatar golergka avatar mjrgh avatar polettix avatar realnc avatar toerob avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frobtads's Issues

frobtads-2.0/tads2/ostzposix.c errors

2.0! Whoohoo! I had no idea!

I installed a shiny new gcc [8.3.1 20190311 (Red Hat 8.3.1-3)] and cmake3 to build this on CentOS 7 but I get an error when building ostzposix.c (see below). I know CentOS is more about stability and has some old libraries. Is GLIB/some aspect of my system too ancient to build this? It looks like Octave solved this issue (in 2011) by wrapping that in "#if defined (HAVE_STRUCT_TM_GMTOFF) ... #endif... Can I do that? I'm not much of a C/C++ coder...

https://lists.gnu.org/archive/html/octave-maintainers/2011-12/msg00015.html

[  0%] Building CXX object CMakeFiles/COMMON_OBJECTS.dir/src/missing.cc.o
[  1%] Building C object CMakeFiles/COMMON_OBJECTS.dir/tads2/osifc.c.o
[  1%] Building C object CMakeFiles/COMMON_OBJECTS.dir/tads2/osnoui.c.o
[  2%] Building C object CMakeFiles/COMMON_OBJECTS.dir/tads2/osstzprs.c.o
[  2%] Building C object CMakeFiles/COMMON_OBJECTS.dir/tads2/osrestad.c.o
[  2%] Built target COMMON_OBJECTS
[  2%] Building C object CMakeFiles/TADS3_RC_OBJECTS.dir/tads2/ostzposix.c.o
/home/amead/projects/tads/source/frobtads-2.0/tads2/ostzposix.c: In function ‘os_get_timezone_info’:
/home/amead/projects/tads/source/frobtads-2.0/tads2/ostzposix.c:298:31: error: ‘const struct tm’ has no member named ‘tm_gmtoff’
             info->dst_ofs = tm->tm_gmtoff;
                               ^
/home/amead/projects/tads/source/frobtads-2.0/tads2/ostzposix.c:299:67: error: ‘const struct tm’ has no member named ‘tm_zone’
             safe_strcpy(info->dst_abbr, sizeof(info->dst_abbr), tm->tm_zone);
                                                                   ^
/home/amead/projects/tads/source/frobtads-2.0/tads2/ostzposix.c:303:31: error: ‘const struct tm’ has no member named ‘tm_gmtoff’
             info->std_ofs = tm->tm_gmtoff;
                               ^
/home/amead/projects/tads/source/frobtads-2.0/tads2/ostzposix.c:304:67: error: ‘const struct tm’ has no member named ‘tm_zone’
             safe_strcpy(info->std_abbr, sizeof(info->std_abbr), tm->tm_zone);
                                                                   ^
make[2]: *** [CMakeFiles/TADS3_RC_OBJECTS.dir/build.make:83: CMakeFiles/TADS3_RC_OBJECTS.dir/tads2/ostzposix.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/TADS3_RC_OBJECTS.dir/all] Error 2
make: *** [Makefile:150: all] Error 2

Tads3 MacOS (El Capitan or later) issue: compilation recompiles all header files every time + workaround

It seems that if the tads3 library files are installed in the default location of "/usr/local/share/frobtads" on Macos versions above el capitan, all header files used will be part of a recompilation even though the object files are already built and no changes has been made. (It somehow detects changes in these files everytime t3make runs.)

A workaround for this is to install the frobtads installation in the home folder of the user. Or if already installed, just make a copy the library to user folder and replace all references to them in the Makefile.t3m file.

I guess one could be proactive if installing locally with make for the first time by setting the env:
-DCMAKE_INSTALL_PREFIX=/Users/<username>
(instead of "/usr/local" or if there's a universal better folder for library files that won't behave as "/usr/local/" does)

The homebrew formula defaults to "/usr/local" folder though, maybe the user can be prompted of where the installation should be or the default change to the home folder or better. Not sure of what might be the best solution.

Surely this is a mistake in macro

Referring to tads3/vmrun.cpp:1046

#define true_for_cond(v)                       \
   ((v)->typ == VM_TRUE || (v)->typ == VM_ENUM \
    || ((v)->typ == VM_INT && !(v)->val.intval == 0))

Surely this is a mistake. The expression !(v)->val.intval == 0 is equivalent to (!(v)->val.intval) == 0

Surely it should be:

#define true_for_cond(v)                       \
   ((v)->typ == VM_TRUE || (v)->typ == VM_ENUM \
    || ((v)->typ == VM_INT && (v)->val.intval != 0))

No symbol table?

Sorry if this is a dumb question, but when I make some mistakes in authoring TADS 2 games, particularly with the arguments to verX, doX, and ioX functions, I get the error below. This can be replicated by simply adding an arbitrary extra parameter to any verification method. Then compile and play the game and cause the method to fire.

I assume that the symbol table would provide more clues to debug this issue? Like the function name, at least?

[TADS-1026: wrong number of arguments to user function "<NO SYMBOL TABLE>.<NO SYMBOL TABLE>"]

Is this because I have failed to include debugging information? I have tried compiling with -ds and -ds2, am I doing it wrong?

tadsc -ds2+ file.t
tadsc -ds+ file.t
tadsc -ds2 file.t
tadsc -ds file.t

This issue is identical in a copy of tadsc/frob that I compiled in 2014 and 2.0 that I compiled today. I see it affects some other users:
http://www.allthingsjacq.com/intfic_clubfloyd_20090103.html

Mutated vowels are not rendered correctly while entering text in an UTF8-t3 file using the curses interface.

I use https://github.com/mikawa/G-TADS to create a german TADS project.
I installed the 'de_de' files from there.

I created an example project with

  • an utf8 charset and
  • a starting room containing mutated vowel (ÄÖÜäöüß)

beispiel.t

#charset "utf8"
//...
#include <adv3.h>
#include <de_de.h>
//...
startRoom: Room 'Startraum'
    "Das ist der Startraum. Umlaute sind ÄÖÜ äöü ß etc... Gib 'über' ein..."
;

Then i compile my project and I run the t3-file:

frob -k utf8 beispiel.t3

The output is ok (I see the mutated vowel rendered correctly with the curses interface).

However, if I enter a mutated vowel I get "??" instead of the vowel (e.g. '??ber' instead of 'über'). The text is interpreted correctly, only the rendered input text is wrong.

Note: with the plain interface works as expected.

the language server protocol for tads3?

I'm exploring the possibility of implementing the language server protocol (lsp) for tads3. As far as I can tell I would have to extend the networking code to allow lsp clients to connect to a running tads VM over a socket and add JSON-RPC parsing in tads itself. Can anyone comment on additional necessary steps or possible shortcuts?

Feature Request: log all console input to a file

The windows interpreter t3run has the option to log all console input to a specified file. This didn’t make it to the frobtads version it seems.

In the vscode extension https://github.com/toerob/vscode-tads3tools there’s now a feature to use game scripts. But it can’t generate them automatically on *nix platforms without this option.

I tried to capture the input via pipes but I didn’t manage to do it. So I would be grateful if this was added. Otherwise is there any obstacles or issues I should know about if I were allowed to add this myself?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.