[Announce] PosChengband 1.0.0

Collapse
X
Collapse
+ More Options
Latest Activity
 
  • Time
  • Show
Clear All
new posts

  • chris
    replied
    Github repository is at https://github.com/poschengband/poschengband.

    Honestly, I have no clue what I am doing So, before I do irreparable damage, I better find a tutorial or something quick. For example, git seems to automatically add new files to the repo while mercurial required a user command to do this. I prefer the latter since I generally play out of my development repository and I don't want my savefiles (not to mention the executable!) automatically being added to the repository all the time.

    Any advice or recommended pointers are welcome!

    Leave a comment:


  • AnonymousHero
    replied
    Yes, it's a bit unfortunate about "losing" Japanese, but without at least one person to maintain it, it's just going to fall further and further behind until it's purely a burden for no benefit. (I'm not sure exactly where on the cost/benefit curve it is right now, but without a maintainer it's probably best to just rip it out wholesale.)

    So, yeah, the process is mostly automated, but it requires some manual tweaking/tinkering along the way. I think it makes sense to start with all the #if JP (and related #define's) and then perhaps work through the data file bits more manually -- but perhaps even that can be automated to some extent.

    Leave a comment:


  • chris
    replied
    A new version (1.0.24) is available here:

    * Sorcerers use Charisma for Eat Magic power.
    * Options for leave_excellent and leave_good removed.
    * Fixed bug with Cult of Personality (Level generation was using summon monster code to build certain packs)
    * Travel command (`) now respects delay option.
    * Monsters now pursue the player more aggressively (i.e., I increased the flow depth for monsters pursuing the player by 'sound').
    * Death Beasts no longer show up in nests (hounds or animals).
    * Monster regeneration caps at 400hp (was 600hp).
    * Liches gain Ice Bolt.
    * Player monster races now start with one flavorful virtue.
    * New normal player race: The Centaur. They are half human and half horse, of course. I decided that while they may wear body armor, they get reduced AC bonus since they may only equip the breast plate (upper body part). They do gain full resists and other bonuses. Also, they are unable to wear any boots, so effectively lose an equipment slot. To compensate, they gain extra attacks with their hooves and move with extra speed as they gain experience. They also have a Jump power that acts as a short range, line of sight Dimension Door.

    Leave a comment:


  • chris
    replied
    Originally posted by AnonymousHero
    in case you have private changes relative to 1.0.23 and cannot apply the patch cleanly if I base it on 1.0.23.
    I have made a few changes somewhat recently, and I think this will cause merge conflicts as, like I said, I've been removing JP stuff by hand slowly as I go. I can push what I have today, if that would help (You say your diff is automated ... So hopefully this would not cause a problem).

    Leave a comment:


  • chris
    replied
    Originally posted by AnonymousHero
    @chris: I'd like to submit a patch removing JP support completely, but I'd want to base it on the most recent code that you have in development. So: Could you please put it up somewhere source-control friendly?

    If you haven't decided on a version control system (VCS) yet, I personally don't much care which version control you use, but of course a Distributed VCS is probably preferable (Git/Mercurial/Bazaar, probably in that order according to popularity). Git has the lovely Github for hosting and Hg has bitbucket (which incidentally also supports Git).

    This will be done in a semi-automated fashion, but I'll still have to scan through ~50000 lines of diff just to make sure nothing's gone wrong with the automation, so I'd like to avoid having to do it more than once -- in case you have private changes relative to 1.0.23 and cannot apply the patch cleanly if I base it on 1.0.23.

    EDIT: Btw, we're talking about the removal of ~24 kLoC .
    Wow! OK, I guess I can finally breakdown and put PosChengband source someplace public. I'll investigate GitHub though it may take me a short while to learn as I have never used git before ...

    I have been slowly removing JP stuff by hand. At first, I spent a lot of time and effort keeping it around as I felt like I owed this to the code's Hengband heritage. But after this amount of time, the JP stuff is so far out of date and there is no way I could ever hope to maintain it. Plus, the conditional compilation really messes up the code's readability, IMO. There has to be a better solution for multiple language support ...

    Anyway, JP stuff manifests in many forms. Obviously, there are the #ifdef JP blocks which can be easily spotted. Less obvious are the T(...) macros, which I added when I first started with Chengband. Least obvious of all might be the external data files. Ideally, something like:
    Code:
    N:4:¸¸³Ä:Ãã¿Â§Â¤ĂŽ
    E:Hallucination:Brown
    G:,:u
    I:80:4:500
    W:10:0:30:1:0
    A:10/1
    F:STACK
    D:$It makes you hallucinate when you eat it.
    D:¤½Â¤ì¤Ͽ?¤Ù¤Í¤È¸¸³ÄÂ¤Ă‹¿¯Â¤µÂ¤ì¤Í¡£
    could be converted to:
    Code:
    N:4:Hallucination:Brown
    G:,:u
    I:80:4:500
    W:10:0:30:1:0
    A:10/1
    F:STACK
    D:It makes you hallucinate when you eat it.
    The parser code would need to change as well. And virtually every form of external datafile has some aspect of this as well.

    Leave a comment:


  • AnonymousHero
    replied
    @chris: I'd like to submit a patch removing JP support completely, but I'd want to base it on the most recent code that you have in development. So: Could you please put it up somewhere source-control friendly?

    If you haven't decided on a version control system (VCS) yet, I personally don't much care which version control you use, but of course a Distributed VCS is probably preferable (Git/Mercurial/Bazaar, probably in that order according to popularity). Git has the lovely Github for hosting and Hg has bitbucket (which incidentally also supports Git).

    This will be done in a semi-automated fashion, but I'll still have to scan through ~50000 lines of diff just to make sure nothing's gone wrong with the automation, so I'd like to avoid having to do it more than once -- in case you have private changes relative to 1.0.23 and cannot apply the patch cleanly if I base it on 1.0.23.

    EDIT: Btw, we're talking about the removal of ~24 kLoC .
    Last edited by AnonymousHero; June 18, 2013, 05:36.

    Leave a comment:


  • chris
    replied
    Originally posted by Djabanete
    Fantastic. Thank you!

    Edit: OK, wait, still confused. Having chosen "yes" for the "auto-destroyer leaves unknown good/excellent" options, I find that the auto-destroyer is treating the two kinds of items differently. I'm using

    !unidentified common weapons
    !unidentified common armor

    and I find that an Executioner's Sword {excellent} is squelched while a Robe {good} is untouched. Is this how it's supposed to work?

    Edit2: Of course, ideally I want to set "leave unknown {good} items" to No and "leave unknown {excellent} items" to Yes, and I want the Sword {excellent} to be left untouched while the Robe {good} is destroyed.
    Well ... Its been long enough now that you have already figured this out, right?

    I recommend turning off leave_excellent and leave_good. I will remove these options very soon (99% chance). Really, they complicate the way things work.

    At that point, you probably never want to do:
    !unidentified common weapons
    !unidentified common armor

    If you really want me to debug your initial scenario, I can. Its probably something obvious like forgetting that the order of lines in your preferences matters. In this case, you really better have something like:
    ~unidentified ego
    !unidentified common weapons
    !unidentified common armor

    If you had this instead:
    !unidentified common weapons
    !unidentified common armor
    ~unidentified ego

    then it would not work. Remember, it is the first matching line that is used. Once found, subsequent rules in your pickup preferences are not even considered.

    Leave a comment:


  • chris
    replied
    Originally posted by Arjen
    How can you find out how much strength you need to one hand wield weapons while riding?

    I found a heavy lance (on a dead dude), but with /119 I wasn't able to actually wield it. I was wondering how much STR it required to actually be able to use it. Can you calculate it somehow? The game doesn't show stats when a weapon is too heavy.
    Sorry for the delayed response.

    The Weapon Info currently does not spoil this aspect of melee ... perhaps it should? At any rate, you need an 18/170 str to wield a 40lb heavy lance with just one hand, or an 18/10 str to wield it with two hands.

    If you don't mind reading code, here are the details:
    Code:
    /*
     * Stat Table (STR) -- weapon weight limit in pounds
     */
    byte adj_str_hold[] =
    {
    	4       /* 3 */,
    	5       /* 4 */,
    	6       /* 5 */,
    	7       /* 6 */,
    	8       /* 7 */,
    	9       /* 8 */,
    	10      /* 9 */,
    	11      /* 10 */,
    	12      /* 11 */,
    	13      /* 12 */,
    	14      /* 13 */,
    	15      /* 14 */,
    	16      /* 15 */,
    	17      /* 16 */,
    	18      /* 17 */,
    	19      /* 18/00-18/09 */,
    	20      /* 18/10-18/19 */,
    	21      /* 18/20-18/29 */,
    	22      /* 18/30-18/39 */,
    	23      /* 18/40-18/49 */,
    	24      /* 18/50-18/59 */,
    	25      /* 18/60-18/69 */,
    	26      /* 18/70-18/79 */,
    	27      /* 18/80-18/89 */,
    	28      /* 18/90-18/99 */,
    	30      /* 18/100-18/109 */,
    	31      /* 18/110-18/119 */,
    	32      /* 18/120-18/129 */,
    	33      /* 18/130-18/139 */,
    	34      /* 18/140-18/149 */,
    	35      /* 18/150-18/159 */,
    	37      /* 18/160-18/169 */,
    	40      /* 18/170-18/179 */,
    	44      /* 18/180-18/189 */,
    	48      /* 18/190-18/199 */,
    	50     /* 18/200-18/209 */,
    	50     /* 18/210-18/219 */,
    	50     /* 18/220+ */
    };

    Leave a comment:


  • chris
    replied
    Originally posted by jevansau
    The spell stat being Int was fixed in 1.0.23, but the class power being based on Int wasn't.

    This really is a pretty minor problem.
    Thanks. The sorcerer's Eat Magic power will use the correct stat of Charisma starting with 1.0.24 ...

    Leave a comment:


  • chris
    replied
    Originally posted by Angry Bob
    Is the psion's casting stat wisdom or intelligence?
    Spell stat is Int or Wis or Chr, whichever is currently highest. Psion's are unique in this respect ...

    Leave a comment:


  • Roch
    replied
    Not positive, but from the Chengband ladder psions it looks like intelligence. See, e.g., http://angband.oook.cz/ladder-show.php?id=12984

    Leave a comment:


  • Angry Bob
    replied
    Is the psion's casting stat wisdom or intelligence?

    Leave a comment:


  • jevansau
    replied
    Originally posted by AnonymousHero
    Already reported. Get 1.0.23.
    The spell stat being Int was fixed in 1.0.23, but the class power being based on Int wasn't.

    This really is a pretty minor problem.

    Leave a comment:


  • AnonymousHero
    replied
    Originally posted by jevansau
    A small Sorcerer bug - the class power is based on Int rather than Cha.
    Already reported. Get 1.0.23.

    Leave a comment:


  • jevansau
    replied
    A small Sorcerer bug - the class power is based on Int rather than Cha.

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎