bugFreeciv - Bugs: bug #16855, [tech08] root_req'd techs not...

 
 
Show feedback again

bug #16855: [tech08] root_req'd techs not visible in tech tree

Submitted by:  HanduMan <handuman>
Submitted on:  Mon 11 Oct 2010 04:44:04 PM UTC  
 
Category: clientSeverity: 3 - Normal
Priority: 5 - NormalStatus: Fixed
Assigned to: Matthias Pfafferodt <syntron>Open/Closed: Closed
Release: 2.2.3Operating System: None
Planned Release: 2.3.0, 2.4.0

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Thu 27 Jan 2011 02:38:47 PM UTC, comment #14:

> This is problematic if tech loss is activated (or tech upkeep)
> ... we need to track also build (and destroyed) small wonders!


OK, this is fixed for trunk - see bugs #17333. Thus, the "Theory of Evolution" can be removed for trunk, or? It would be the right way to go.

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Thu 27 Jan 2011 02:35:39 PM UTC, comment #13:

> This ruleset has a self-root_req'd tech called "Theory of
> Evolution" which is only granted via lua script -- it's used to
> track whether you've got your free techs from Darwin's Voyage
> yet (since wonders are per-player). (This might be an example of
> the sort of tech the ruleset author would want to remain
> hidden.)


This is problematic if tech loss is activated (or tech upkeep) ... we need to track also build (and destroyed) small wonders!

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Tue 25 Jan 2011 08:15:35 PM UTC, SVN revision 19098:

After bug #16855, clicking the new "Show all" button in the research report
with the "multiplayer" ruleset caused infinite recursion.

Patch by Matthias Pfafferodt (syntron@gna).

See gna bug #17555.

(Browse SVN revision 19098)

Jacob Nevins <jtn>
Project Administrator
Tue 25 Jan 2011 08:13:00 PM UTC, SVN revision 19096:

After bug #16855, clicking the new "Show all" button in the research report
with the "multiplayer" ruleset caused infinite recursion.

Patch by Matthias Pfafferodt (syntron@gna).

See gna bug #17555.

(Browse SVN revision 19096)

Jacob Nevins <jtn>
Project Administrator
Mon 24 Jan 2011 09:00:50 AM UTC, comment #10:

Awake again some comments:

> At the time of my original submission I was experimenting with a
> possibility to force tech-traders to aquire all requirements
> before they can get the one they are after.


Could a similar lua script as mentioned in comment #7 help? You would need a self-rooted tech and a lua signal if a tech is reserached. The script would need to check all requirements (the techs of this erea) to give the player the (free) 'next erea' tech. I'm not sure if this is possible at the moment as you would need to check if the player has researched specific techs. Perhaps an additional lua function is needed.

Thus, no change to the interface is required - you can do it by using only ruleset code (techs as well as lua script).

> Raised as bug #17555, thanks. (Initially assigned to me but
> feel free to steal it.)


You can commit it. But do remember the time frame for 2.3.0 ... ;-)

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Sun 23 Jan 2011 09:06:19 PM UTC, comment #9:

Raised as bug #17555, thanks. (Initially assigned to me but feel free to steal it.)

Jacob Nevins <jtn>
Project Administrator
Sun 23 Jan 2011 07:39:19 PM UTC, comment #8:

I'm just back from a short trip with little sleep ... so here is my idea how to solve it: Could you add the following check to player_invention_reachable() (common/tech.c)

If this works, please add it as a new ticket for 2.3.0!

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Sat 22 Jan 2011 01:26:27 AM UTC, comment #7:

After this change, if I start a game with the "multiplayer" ruleset and click the new "Show all" button, the Gtk client dies with a segfault. Looks like it gets stuck in an infinite recursion and smashes the stack -- the backtrace has tens of thousands of frames of

This ruleset has a self-root_req'd tech called "Theory of Evolution" which is only granted via lua script -- it's used to track whether you've got your free techs from Darwin's Voyage yet (since wonders are per-player). (This might be an example of the sort of tech the ruleset author would want to remain hidden.)

Jacob Nevins <jtn>
Project Administrator
Fri 21 Jan 2011 05:09:50 PM UTC, comment #6:

Although the case is closed I'd like to add a comment...

I think the visibility of unresearchable techs should not be allowed to be decided by the player. Rather, it should be made as a ruleset option. It is the ruleset desiger who adds the root_reqs, so they should know if tech are to be visible in tree before they can be researched or not.

At the time of my original submission I was experimenting with a possibility to force tech-traders to aquire all requirements before they can get the one they are after. That could be achieved by root_reqqing every single tech in the tree. In this case the unresearchable ones should be visible in the tree.

After that I've come up with an idea of technological eras. That means that there could be some critical techs in the tree which would reveal a bunch of new ones. Maybe making the research also harder from that point forward.

So my original bug report was a bit too one-sided. I'm happy that you noticed that and made the visibility thing choosable. Only I disagree with the part who gets to choose. :p

HanduMan <handuman>
Fri 21 Jan 2011 12:29:11 PM UTC, SVN revision 19058:

show all techs or only reachable techs

  • start with only reachable techs shown

see gna bug #16855
reported by HanduMan

(Browse SVN revision 19058)

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Fri 21 Jan 2011 12:28:59 PM UTC, SVN revision 19057:

show all techs or only reachable techs

  • start with only reachable techs shown

see gna bug #16855
reported by HanduMan

(Browse SVN revision 19057)

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Thu 20 Jan 2011 10:44:15 PM UTC, comment #3:

small update (only one '!'):

  • start with only reachable techs shown

(file #12025)

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Wed 19 Jan 2011 09:46:26 PM UTC, comment #2:

show all techs or only reachable techs

  • only one small string added ('show all')

(file #12005)

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Wed 19 Jan 2011 07:39:47 PM UTC, comment #1:

see also discussion at bug #16852

Matthias Pfafferodt <syntron>
Project MemberIn charge of this item.
Mon 11 Oct 2010 04:44:04 PM UTC, original submission:

If root_req property has been defined for certain advance in a custom ruleset, that advance will not be visible in research report (F6) until the player has aquired the root_req tech. Also all future techs in the branch limited by this root_req are missing. This would make sense if the root_req was a non-researchable tech but it happens even if the root_req is a normally achievable one.

All technologies that are achievable in normal manner (researched, traded, stolen, hut) should be visible in the tech tree. Maybe some kind of indication of the existing root_req would be nice?

Also, the help system for technologies will not handle root_req'd tech tree properly. It cannot calculate the needed number of other techs nor amount of bulbs. It seems to list all the right prerequisites but shows only '1' for the count. (Should this be reported separately?)

HanduMan <handuman>

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

 

Depends on the following items: None found

Digest:
   task dependencies.

 

Carbon-Copy List
  • -unavailable- added by jtn (Posted a comment)
  • -unavailable- added by syntron (Posted a comment)
  • -unavailable- added by cazfi (Updated the item)
  • -unavailable- added by handuman (Submitted the item)
  • -unavailable- added by handuman
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 10 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 21 Jan 2011 12:31:58 PM UTCsyntronStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Thu 20 Jan 2011 10:44:15 PM UTCsyntronAttached File-=>Added 20110120-tech08-show-all-techs-or-only-reachable-techs.patch, #12025
    Wed 19 Jan 2011 09:46:26 PM UTCsyntronAttached File-=>Added 20110119-tech08-show-all-techs-or-only-reachable-techs.patch, #12005
      StatusNone=>Ready For Test
      Assigned toNone=>syntron
      Planned Release2.3.0=>2.3.0, 2.4.0
      Summaryroot_req\'d techs not visible in tech tree=>[tech08] root_req'd techs not visible in tech tree
    Wed 12 Jan 2011 07:32:58 AM UTCcazfiPlanned Release=>2.3.0
    Mon 11 Oct 2010 04:44:05 PM UTChandumanCarbon-Copy-=>Added handuman
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup