Development version of PWMAngband 1.1.12 released for testing

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • PowerWyrm
    replied
    Been a while since last update. Latest changes mainly are refactorings from V:

    - Move magic realms to realm.txt
    - Some refactorings
    - Reduce the supply of gold, in line with its value in older versions
    - Adopt some of James Doyle's suggestions from the forum (flavors)
    - Fix some memory error and leaks
    - Tidy up some parser errors
    - Provision for conflicting curses
    - Include spell power, use it instead of monster level
    - Replace origin_xtra with origin_race (struct monster_race)
    - Reorganize setup.bat a bit
    - Fix tiles of curse removal scrolls
    - Fix tiles of new traps
    - Fix trap tiles in graf-xxx.prf
    - Remove indices from (many) text files
    - Replace indices with strings in savefiles (PWMAngband: keep indices by default, use a #define to switch to strings)
    - Put monster spell lore colours into monster_spell.txt
    - Put monster blow lore colours into blow_effects.txt
    - Implement monster flag types
    - Use monster flag types to write lore abilities
    - Use monster spell types to write lore spell descriptions
    - Use monster flag types in monster type descriptions
    - Put element/projection info into projection.txt
    - Refactor project_m_is_threat using projection.txt

    - Try harder to make town surroundings passable
    - Prevent digging/burning stuff in towns (except starting town)
    - Simplify town_feat.txt
    - Update modifying.txt
    - Add a system to restrict monster creation to certain locations
    - Make Farmer Maggot only appear in Hobbiton

    About removing indices from text files and replacing indices with strings in savefiles:
    - use #define SAVE_AS_STRINGS in savefile.h to replace indices with strings in savefiles
    - save indices as unsigned integers, using range of [1..max] instead of [0..max-1] (index 0 is used for empty entry)
    - remove all empty struct[0] entries

    Files updated: binaries and source code.
    Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr

    Leave a comment:


  • PowerWyrm
    replied
    Beginning of a new world, part 1. List of changes since last time:

    - Change starting town and base town to "struct town" containing name and coordinates
    - Parse starting and base town names and coordinates from town.txt
    - Rename starting town and base town Hobbiton and Carn Dûm and place them at their real location on the pseudo-Middle Earth map
    - Remove WILD_GRASS restriction for town suburbs, allow houses on waste and glacier terrains (for base town)
    - Parse wilderness level from wild_feat.txt
    - Set monster/object level depending on wilderness level and distance from towns
    - Use an array of "struct town" for towns
    - Parse town features from town_feat.txt
    - Add town of Bree, parse coordinates from town.txt and layout from town_bree.txt
    - Add town of Lothlorien, parse coordinates from town.txt and layout from town_lothlorien.txt
    - Add town of Minas Anor, parse coordinates from town.txt and layout from town_minas_anor.txt

    Also more stuff from V and some bugs fixed:
    - Remove trap, door and stair detection
    - Replace Sense Traps, Doors & Stairs with Spiritual Hammer (Telepath class)
    - Tidy menu for curse removal
    - Move objects when lava is created
    - Make stone to mud destroy passable rubble
    - Prohibit stone to mud effect in towns
    - Fix some TOWN_WALL (no wilderness) issues

    Files updated: binaries and source code.
    Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr

    Leave a comment:


  • PowerWyrm
    replied
    About the new special manually-designed levels/towns...

    Features of special levels:
    - loaded from file "server.level.x.y.z"
    - always allocated
    - no feeling displayed upon entering
    - "Looks like a special level" displayed when recalling the feeling
    - no artifacts generated
    - true artifacts cannot be dropped/thrown
    - cannot by bypassed by deep descent
    - no darkness/fire/kill wall/polymorphing/alter reality/destruction/earthquake effects
    - creation of traps/stairs/walls/glyphs/doors disabled
    - monsters cannot breed or raise dead
    - ignored stuff is not automatically dropped

    Features of special towns:
    - loaded from file "server.town.x.y.z"
    - "Looks like a typical town" displayed when recalling the feeling
    - no monsters
    - no food consumption
    - no summoning
    - all features from special levels

    Next step will be to rebuild a new world after the end of the old one.

    Leave a comment:


  • PowerWyrm
    replied
    End of the world. For those who survived the apocalypse, here's the list of changes since last time:

    - Replace "depth" with "struct worldpos" containing both depth and wilderness coordinates ("player", "player_death_info", "monster", "object", "chunk", "arena_type", "house_type" and "wild_type" structures)
    - Set depth to 0 when in the wilderness
    - Move "chunk_list" and "players_on_depth" arrays to "struct wild_type"
    - Allow special manually-designed levels/towns in the wilderness
    - Replace "recall_depth" with "struct worldpos", parsing "@Rx,y" inscription to recall to a specific wilderness level
    - Nuke "num_wild"
    - Add two "struct worldpos" for starting town (where level 1 characters start the game) and base town (where the main Angband dungeon resides)

    Also found some time to add more stuff from V and fix some bugs:
    - Fix mowing down trees in town not decreasing the trees_in_town counter
    - Fix color of light slate monsters
    - Fix weight of unbelievers, remove weight for Emperor Mimic
    - Don't add stealth to players polymorphed into a race with no base weight
    - Excise mon-power
    - Split object data file reading into obj-init.c
    - Replace linked lists of curses with arrays
    - Parse slays from slay.txt
    - Remove the slay cache
    - Replace linked lists of slays with arrays
    - Parse brands from brand.txt
    - Replace linked lists of brands with arrays
    - Add power field to brands and slays
    - Remove monster power and scaled_power, weight slays and brands by fixed weights, adjust monster feelings
    - Make player know all combat runes at birth
    - Tone down greater vaults for non-classic profiles
    - More refactoring
    - Make cursed sticky artifacts just sticky, remove sticky curse
    - Change how curses are added during object generation
    - Adjust slays, brands and modifiers on randarts
    - Some improvements to curses on randarts
    - Distinguish between ratings for template rooms

    Took some time to get something stable, the game was crashing on me almost every minute with all those changes in wilderness, slay/brands and curses.

    Files updated: binaries and source code.
    Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr

    Leave a comment:


  • PowerWyrm
    replied
    Last update before the end of the world. Changes since last time:

    - Change monster names to appropriate English case
    - Make monster lookup case-insensitive
    - Fix monster summoning (Dungeon Master menu)
    - New ambient sounds for wilderness and deep dungeon levels
    - Remove hardcoded WILD_RADIUS define, use value from wild_info.txt
    - Make wilderness level info array bidimensional
    - Reorganize wilderness.c
    - Add (world_y, world_x) coordinates to the "chunk", "house_type" and "wild_type" structures
    - Put symbol describing each wilderness feat in wild_feat.txt
    - Revert "Allow dwellings on WILD_WASTE terrain"
    - Revert "Make town suburb WILD_WASTE if not already WILD_GRASS or WILD_WASTE"
    - Fix modified Angband-style town layout

    Files updated: binaries and source code.
    Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr

    Leave a comment:


  • PowerWyrm
    replied
    Originally posted by Pete Mack
    Seems to me storing levels makes more sense per player than per grid region. MxN gets big fast. But the number of players should be more or less constant.
    Only a pointer is stored per wilderness square, which is NULL by default (except the town/suburb). The corresponding level is only allocated when a player enters the area (and deallocated when there are no more players on the level).

    Leave a comment:


  • Pete Mack
    replied
    Seems to me storing levels makes more sense per player than per grid region. MxN gets big fast. But the number of players should be more or less constant.

    Leave a comment:


  • PowerWyrm
    replied
    Originally posted by PowerWyrm
    Now I've reached the point of no return, next step will break everything
    Current system:
    - wilderness levels and dungeon levels stored in single array of size max_wild + max_depth
    - one coordinate: depth
    - base town in the middle of the map with one dungeon (depth 0 and positive)
    - wilderness spiraling from town with an increasing depth (negative)
    - players always starting in base town

    Next system:
    - wilderness levels stored in a bidimensional array of size size_wild * size_wild
    - dungeon levels stored in a single array of size max_depth for each wilderness level
    - three coordinates: world_x, world_y, depth (world_z)
    - base town location specified in wild_info.txt with the main dungeon
    - flat wilderness with innate depth specified in wild_feat.txt
    - starting town location specified in wild_info.txt

    The final goal is to have multiple locations defined wild_info.txt, some with only a static level/town, some with variable sized dungeons.

    Leave a comment:


  • Nick
    replied
    Originally posted by PowerWyrm
    Third part of wilderness rework done plus some stuff from V. Now I've reached the point of no return, next step will break everything.
    I know that stage. Good luck!

    Leave a comment:


  • PowerWyrm
    replied
    Third part of wilderness rework done plus some stuff from V. Now I've reached the point of no return, next step will break everything. Changes since last time:

    - Fix a couple of memory leaks
    - Add list-randart-properties.h
    - Refactor obj-randart
    - Move monster blow methods to a data file
    - Move much of list-player-timed.h to player_timed.txt
    - Fix randart weapons having both supercharged AC and normal AC
    - Re-introduce tunneling ability for randart weapons
    - Register monster resistance to known brands and slays
    - Move monster blow effects to blow_effects.txt
    - Remove the six static pre-designed dungeon towns used on no_recall/more_towns servers (while keeping the framework for designing static dungeon levels/towns)
    - Remove MAngband-style town (for now), use (modified) Angband-style town instead
    - Generate Angband-style dungeon towns automatically every 1000ft on no_recall servers (if there is no static pre-designed dungeon town loaded at that depth)
    - Add missing town wall tile mappings (all tilesets)
    - Allow dwellings on WILD_WASTE terrain
    - Make town suburb WILD_WASTE if not already WILD_GRASS or WILD_WASTE (from metamap parsing)
    - Generate arenas on WILD_DESERT terrain
    - Don't respawn monsters in town suburb

    Files updated: binaries and source code.
    Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr

    Leave a comment:


  • PowerWyrm
    replied
    Originally posted by clouded
    What's the wilderness for? Do you have multiple dungeons and stuff?
    There will be. Goal is to reproduce what was done in ToME 2, with a real Middle Earth map instead of a random wilderness that serves no purpose.

    Leave a comment:


  • clouded
    replied
    What's the wilderness for? Do you have multiple dungeons and stuff?

    Leave a comment:


  • PowerWyrm
    replied
    Second part of wilderness rework done plus some stuff from V. Changes since last time:

    - Increase wilderness radius from 32 to 43
    - Make wilderness metamap fixed instead of randomly generated
    - Parse wilderness metamap from new wild_info.txt file
    - Add new wilderness types: river, hill
    - Remove high mountain wilderness type, tweak mountain and shore types
    - Decrease town area radius from 3 to 2
    - Enable fizzix's probability tweaks from 2012
    - Fix memory leaks, refactor
    - Allow passable rubble in the dungeon
    - Activate new dungeon profiles (modified, moria)
    - Activate new room types (moria room, Interesting room, huge room, room of chambers)
    - Activate new vault types
    - Make lava (flow) passable and hurt the player
    - Allow hot and cold projections to create or destroy lava
    - Allow lava to appear in vaults
    - Stop monsters from moving into lava, hurt them if they're pushed

    Files updated: binaries and source code.
    Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr

    Leave a comment:


  • PowerWyrm
    replied
    Current dev version parses wilderness info from a fixed map now. For this, I used this map of Middle Earth:



    For now, there's still a town and suburb (with player houses) in the middle of the map, so its placement eats most of the Fangorn Forest and its eastern part called The Wold. Next steps will be to add different towns (Bree, Lothlorien...) and places of Middle Earth that will serve as extra dungeons.

    Leave a comment:


  • PowerWyrm
    replied
    First part of wilderness rework done. Assume that every new dev release breaks savefile compatibility. Changes since last time:

    - Remove text screen dumps
    - Make wilderness square-shaped (with radius 32) instead of diamond-shaped
    - Make wilderness bordered (by the Walls of the World) instead of circular
    - Parse wilderness terrain information from new wild_feat.txt file
    - Add new wilderness types (deep water, desert, glacier, high mountain)
    - Add new wilderness terrain types (sand, sandwall, ice, ice wall)
    - Switch around tiles for log and drawbridge (32x32, 48x64 and 64x64 tilesets)
    - Redraw a few terrain tiles (8x16 tileset)
    - Add missing tiles for loose dirt and crops (16x16 tileset)
    - Fix crash when trying to generate creeping coins in the wilderness
    - Display wilderness coordinates properly at the bottom right of the wilderness minimap, fixing a crash in the process if the size of the minimap was too big
    - Fix swamp and town tiles (8x8 tileset)

    Files updated: binaries and source code.
    Files are available for download at the usual location: http://powerwyrm.monsite-orange.fr

    Leave a comment:

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