Giter Site home page Giter Site logo

andrettin / wyrmsun Goto Github PK

View Code? Open in Web Editor NEW
298.0 298.0 46.0 744.71 MB

Strategy game based on history, mythology and fiction

Home Page: http://andrettin.github.io/

License: GNU General Public License v2.0

Lua 95.99% CMake 0.04% Shell 0.01% QML 3.73% GLSL 0.24%

wyrmsun's People

Contributors

akien-mga avatar amdmi3 avatar andrettin avatar bergentroll avatar beworld2018 avatar kenji-03 avatar mailaender avatar marcelofg55 avatar pawonashi avatar xinxinxinxinxin 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  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  avatar  avatar  avatar  avatar

Watchers

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

wyrmsun's Issues

Crash when choosing custom map created in Editor

Wyrmsun and Wyrmgus as always the latest. If you choose Custom game in Worlds, maps are shown. I've created a map .smp (yes, without a name) and it was displayed in Map menu as a blank field. I chose it and tried to start a map, this is what happened:

Program received signal SIGSEGV, Segmentation fault.
0x000000000064b78f in CMapFieldPlayerInfo::IsVisible (this=0x7fffdd785568, 
    player=...) at /home/kroartem/SVN/Wyrmgus/src/map/mapfield.cpp:397
397     return Visible[player.Index] >= 2 || (!fogOfWar && IsExplored(player));
(gdb) bt
#0  0x000000000064b78f in CMapFieldPlayerInfo::IsVisible (this=0x7fffdd785568, 
    player=...) at /home/kroartem/SVN/Wyrmgus/src/map/mapfield.cpp:397
#1  0x000000000064b674 in CMapFieldPlayerInfo::TeamVisibilityState (
    this=0x7fffdd785568, player=...)
    at /home/kroartem/SVN/Wyrmgus/src/map/mapfield.cpp:368
#2  0x000000000064b7f7 in CMapFieldPlayerInfo::IsTeamVisible (
    this=0x7fffdd785568, player=...)
    at /home/kroartem/SVN/Wyrmgus/src/map/mapfield.cpp:402
#3  0x0000000000646af6 in MapMarkTileSight (player=..., index=18020)
    at /home/kroartem/SVN/Wyrmgus/src/map/map_fog.cpp:229
#4  0x0000000000647049 in MapSight (player=..., pos=..., w=1, h=1, range=1, 
    marker=0x646a47 <MapMarkTileSight(CPlayer const&, unsigned int)>)
    at /home/kroartem/SVN/Wyrmgus/src/map/map_fog.cpp:353
#5  0x000000000078d239 in MapMarkUnitSightRec (unit=..., pos=..., width=1, 
    height=1, f=0x646a47 <MapMarkTileSight(CPlayer const&, unsigned int)>, 
    f2=0x646d19 <MapMarkTileDetectCloak(CPlayer const&, unsigned int)>)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit.cpp:1136
#6  0x000000000078d3fa in MapMarkUnitSight (unit=...)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit.cpp:1180
#7  0x000000000078e051 in CUnit::Place (this=0x86eca70, pos=...)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit.cpp:1506
#8  0x000000000076c1b9 in CclCreateUnit (l=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/src/unit/script_unit.cpp:729
---Type <return> to continue, or q <return> to quit---
#9  0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#10 0x00007ffff7bc1e97 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#11 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#12 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#13 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#14 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#15 0x00000000006e6ae6 in LuaCall (narg=0, clear=1, exitOnError=true)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:168
#16 0x00000000006e6e26 in LuaLoadFile (file="./maps/.sms")
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:225
#17 0x00000000005fd0f6 in LoadStratagusMap (smpname="maps/.smp", 
    mapname="maps/.sms") at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:257
#18 0x00000000005ff99e in LoadMap (filename="maps/.smp", map=...)
    at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:761
#19 0x000000000060036c in CreateGame (filename="maps/.smp", map=0xb41f20 <Map>)
    at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:1019
#20 0x00000000005fcbb4 in StartMap (filename="maps/.smp", clean=true)
    at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:158
#21 0x00000000007efe88 in tolua_stratagus_StartMap00 (tolua_S=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:1064
#22 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#23 0x00007ffff7bc1efa in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
---Type <return> to continue, or q <return> to quit---
#24 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#25 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#26 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#27 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#28 0x00000000006da797 in LuaCallback::run (this=0x86b8e48, results=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
#29 0x0000000000753dc0 in LuaActionListener::action (this=0x86b8e40, 
    eventId="") at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:392
#30 0x0000000000618c64 in gcn::Widget::generateAction (this=0x86b8c00)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:616
#31 0x000000000061c2c5 in gcn::Button::mouseClick (this=0x86b8c00, button=1)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/button.cpp:254
#32 0x000000000061869d in gcn::Widget::_mouseInputMessage (this=0x86b8c00, 
    mouseInput=...) at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:502
#33 0x000000000061de2f in gcn::Container::_mouseInputMessage (this=0x7c945c0, 
    mouseInput=...)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/container.cpp:394
#34 0x000000000060ffbc in gcn::Gui::logic (this=0x816b2d0)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/gui.cpp:155
#35 0x0000000000753bef in handleInput (event=0x0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:341
#36 0x00000000007d6799 in WaitEventsOneFrame ()
---Type <return> to continue, or q <return> to quit---
    at /home/kroartem/SVN/Wyrmgus/src/video/sdl.cpp:989
#37 0x000000000075f9bc in MenuScreen::run (this=0x7c945c0, loop=true)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:3115
#38 0x0000000000834eeb in tolua_stratagus_CMenuScreen_run00 (tolua_S=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:25142
#39 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#40 0x00007ffff7bc1efa in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#41 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#42 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#43 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#44 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#45 0x00000000006da797 in LuaCallback::run (this=0x8610b18, results=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
#46 0x0000000000753dc0 in LuaActionListener::action (this=0x8610b10, 
    eventId="") at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:392
#47 0x0000000000618c64 in gcn::Widget::generateAction (this=0x86108b0)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:616
#48 0x000000000061c2c5 in gcn::Button::mouseClick (this=0x86108b0, button=1)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/button.cpp:254
#49 0x000000000061869d in gcn::Widget::_mouseInputMessage (this=0x86108b0, 
    mouseInput=...) at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:502
#50 0x000000000061de2f in gcn::Container::_mouseInputMessage (this=0x8671d50, 
---Type <return> to continue, or q <return> to quit---
    mouseInput=...)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/container.cpp:394
#51 0x000000000060ffbc in gcn::Gui::logic (this=0x816b2d0)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/gui.cpp:155
#52 0x0000000000753bef in handleInput (event=0x0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:341
#53 0x00000000007d6799 in WaitEventsOneFrame ()
    at /home/kroartem/SVN/Wyrmgus/src/video/sdl.cpp:989
#54 0x000000000075f9bc in MenuScreen::run (this=0x8671d50, loop=true)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:3115
#55 0x0000000000834eeb in tolua_stratagus_CMenuScreen_run00 (tolua_S=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:25142
#56 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#57 0x00007ffff7bc1e97 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#58 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#59 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#60 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#61 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#62 0x00000000006da797 in LuaCallback::run (this=0x7c98548, results=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
#63 0x0000000000753dc0 in LuaActionListener::action (this=0x7c98540, 
    eventId="") at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:392
---Type <return> to continue, or q <return> to quit---
#64 0x0000000000618c64 in gcn::Widget::generateAction (this=0x7c982a0)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:616
#65 0x000000000061c2c5 in gcn::Button::mouseClick (this=0x7c982a0, button=1)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/button.cpp:254
#66 0x000000000061869d in gcn::Widget::_mouseInputMessage (this=0x7c982a0, 
    mouseInput=...) at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:502
#67 0x000000000061de2f in gcn::Container::_mouseInputMessage (this=0x7c970d0, 
    mouseInput=...)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/container.cpp:394
#68 0x000000000060ffbc in gcn::Gui::logic (this=0x816b2d0)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/gui.cpp:155
#69 0x0000000000753bef in handleInput (event=0x0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:341
#70 0x00000000007d6799 in WaitEventsOneFrame ()
    at /home/kroartem/SVN/Wyrmgus/src/video/sdl.cpp:989
#71 0x000000000075f9bc in MenuScreen::run (this=0x7c970d0, loop=true)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:3115
#72 0x0000000000834eeb in tolua_stratagus_CMenuScreen_run00 (tolua_S=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:25142
#73 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#74 0x00007ffff7bc1e97 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#75 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#76 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
---Type <return> to continue, or q <return> to quit---
#77 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#78 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#79 0x00000000006e6ae6 in LuaCall (narg=0, clear=1, exitOnError=true)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:168
#80 0x00000000006e6e26 in LuaLoadFile (file="scripts/guichan.lua")
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:225
#81 0x0000000000710cae in MenuLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:305
#82 0x0000000000711645 in stratagusMain (argc=1, argv=0x7fffffffdf38)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:787
#83 0x00000000006da87d in main (argc=1, argv=0x7fffffffdf38)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/main.cpp:37

Cannot load deleted file

Wyrmgus 13779ef19584267f4abdf9f1280caf229293fb9f
Wyrmsun bdd8d02
In one of previous commits /graphics/neutral/icons/cheese.png was deleted. Now Wyrmgus cannot load it during custom games' start, and exits. While I was writing this issue, I understood there was no need to debug Wyrmgus :)

In 74d6d57 it was deleted, but not removed from /scripts/icons/lua:1287 and /scripts/units/lua:3123

Multiple building selection enhancement

The only other game I know where it is possible is starcraft II. And it is useful, because you can easily train units from all of them.

So what is still missing:

  • Selecting other buildings with shift. (Why not?)

  • When multiple buildings are selected and you click on train give the command to the building that will be able to do it first. So when you train 4 unit instead of

    BARRACK1 BARRACK2 BARRACK3
    unit1
    unit2
    unit3
    unit4

    You should get:

    BARRACK1 BARRACK2 BARRACK3
    unit1 unit2 unit3
    unit4

Incorrect resources in loaded GSM

Wyrmsun a8b6c1c
As far as I understand the amount of resources (wood and stone) should be the same at the top of the screen and in the bottom (where we can sell (or whatever) them). See screenshot for more info.

2015-10-26 14-18-31

Check for possibility to create units should be done earlier

Now this check is done when a player is 100% created and the only thing that is needed is to increment units number and release this unit from building. From my point of view this check should be done before the creation starts as it seems a bit odd when you cancel already created unit. Just my 2 cents so I don't insist on it. ;)

A bug in quest "A bargain is struck"

Wyrmsun c544698
Wyrmgus also the latest.

The aims were "bring caravans to the Mead Hall"
Durin must survive

I've done these aims and was supposed to finish the quest, but a message appeared: We have all of the silver, now all we need is the stone.
I've collected 20,000 of stone and didn't manage to finish the quest.

2015-10-23 19-59-29

steam runtime in another location

On Debian & Ubuntu distros, the Steam runtime is located in ~/.steam

https://sources.debian.net/src/steam/1.0.0.50-6/debian/scripts/steam/

--- run.sh.orig 2015-11-30 19:30:29.930248849 +0100
+++ run.sh      2015-11-30 19:31:26.500734992 +0100
@@ -3,8 +3,11 @@
 # Run the game using the Steam runtime to get embedded libraries like libmikmod.so.2
 bits=$(getconf LONG_BIT)
 steamdir="${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime"
+steamdir2="${HOME}/.steam/ubuntu12_32/steam-runtime/"
 if [ -e ${steamdir}/run.sh ]; then
   exec ${steamdir}/run.sh ./wyrmsun${bits} "$@"
+elif [ -e ${steamdir2}/run.sh ]; then
+  exec ${steamdir2}/run.sh ./wyrmsun${bits} "$@"
 else
   echo "Can't find the Steam runtime in the expected path."
   echo "Please consult the linux_readme.txt file for more information."

mac/linux support

is there any way to play this game on mac/linux? if so, is this documented? this game looks like something id love to play with.

Can't click on the very sides of the map.

If the cursor is on the side it changes to the scrolling one (<< or >>) even on the end of the map, and left clicking for selection and right clicking doesn't work. Maybe the map needs to be narrow to show this behaviour.

Issues when loading up the Game.

I downloaded Wrymsum the other day, because I was interested in it and that my computer cannot handle 3D games well. When I first I tried to load it, there was a .dll problem. It was easily fixed; however, the loading screen obstructed my path to gaming. It was obvious that a graphical error took place. This is what happened when I loaded the game after the .dll problem was fixed.

issue-wrymsum

The music was great though!

Stuck in earth quest

Hi,

I've been playing along the quest.

I noticed two things:

  • for me, on this screen, the "Previous Menu" button never works. Alt-F4 does work.

wyrmsun

  • I did succeeded "The Bule Danube (Teuton)", but then when I got back at this screen, I'm not offered the next scenario nor a "You've succeeded the game" screen or something.

https://github.com/Andrettin/Wyrmsun/blob/ba766fe70650ee922477376f70e798e469e1a182/scripts/quests.lua

How do I get to play "Tror's Inheritance" & "Ottar's Lineage" listed in scripts/quests.lua ?

I don't my spoilers that much (as long as they don't reveal goldmines & enemy location),
maybe a webpage with the full campaign description would help me too.

I can provide some state files from ~/.steam/SteamApps/common/Wyrmsun/wyrif that can help you
(or maybe those are "in the cloud" and you could snoop them ?)

Caverns of Flame is too hard to complete

Probably it's me who doesn't understand the goals, but I have enormous problems completing this quest. I tried to stand on those four velvet things that are near the centre of the map but it didn't help. I tried to go down as far as possible but it didn't help. Once I killed and destroyed the goblins' town on the left and came to those 4 things in the centre but it didn't help.

End Turn in GSG returns to main menu

I'm creating GSG with the following options:
World: Random
Tactical unit multiplier: 5x
Automatic battles
The other options are by default. When the game starts I don't see my tribe and find it boring to try to locate it on the map so I pressed "End turn" and it threw me away to the main menu.

Crash when changing resolution ingame

Start game (e.g. custom one), go to options -> video, change width or height, press ok and receive a segfault. Didn't manage to debug what's happening.

Program received signal SIGSEGV, Segmentation fault.
0x00000000007978b1 in CDecoVarSpriteBar::Draw (this=0x92107f0, x=415, y=198, 
    var=...) at /home/kroartem/SVN/Wyrmgus/src/unit/unit_draw.cpp:537
537     int n = sprite.NumFrames - 1; // frame of the sprite to show.
(gdb) bt
#0  0x00000000007978b1 in CDecoVarSpriteBar::Draw (this=0x92107f0, x=415, 
    y=198, var=...) at /home/kroartem/SVN/Wyrmgus/src/unit/unit_draw.cpp:537
#1  0x0000000000797e23 in DrawDecoration (unit=..., type=..., screenPos=...)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit_draw.cpp:619
#2  0x0000000000798e1e in DrawInformations (unit=..., type=..., screenPos=...)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit_draw.cpp:894
#3  0x000000000079a588 in CUnit::Draw (this=0xd80ca60, vp=...)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unit_draw.cpp:1403
#4  0x0000000000645ca8 in CViewport::Draw (this=0x245d950 <UI+1232>)
    at /home/kroartem/SVN/Wyrmgus/src/map/map_draw.cpp:424
#5  0x00000000006dabc6 in DrawMapArea ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:174
#6  0x00000000006dac55 in UpdateDisplay ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:191
#7  0x00000000006dbdb1 in DisplayLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:544
#8  0x00000000006dbdcd in SingleGameLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:563
#9  0x00000000006dbe7a in GameMainLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/mainloop.cpp:601
#10 0x00000000005fcb4d in StartMap (filename="maps/alfheim/ulfdalir.smp", 
    clean=true) at /home/kroartem/SVN/Wyrmgus/src/game/game.cpp:173
#11 0x00000000007ef5f8 in tolua_stratagus_StartMap00 (tolua_S=0x2487780)
---Type <return> to continue, or q <return> to quit---
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:1064
#12 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#13 0x00007ffff7bc1efa in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#14 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#15 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#16 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#17 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#18 0x00000000006da6e9 in LuaCallback::run (this=0x8431758, results=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
#19 0x0000000000753caa in LuaActionListener::action (this=0x8431750, 
    eventId="") at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:392
#20 0x0000000000618bc6 in gcn::Widget::generateAction (this=0x8431510)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:616
#21 0x000000000061c227 in gcn::Button::mouseClick (this=0x8431510, button=1)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/button.cpp:254
#22 0x00000000006185ff in gcn::Widget::_mouseInputMessage (this=0x8431510, 
    mouseInput=...) at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:502
#23 0x000000000061dd91 in gcn::Container::_mouseInputMessage (this=0x84e76e0, 
    mouseInput=...)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/container.cpp:394
#24 0x000000000060ff1e in gcn::Gui::logic (this=0x8129c50)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/gui.cpp:155
---Type <return> to continue, or q <return> to quit---
#25 0x0000000000753ad9 in handleInput (event=0x0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:341
#26 0x00000000007d5f09 in WaitEventsOneFrame ()
    at /home/kroartem/SVN/Wyrmgus/src/video/sdl.cpp:989
#27 0x000000000075f8a6 in MenuScreen::run (this=0x84e76e0, loop=true)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:3115
#28 0x000000000083465b in tolua_stratagus_CMenuScreen_run00 (tolua_S=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:25142
#29 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#30 0x00007ffff7bc1efa in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#31 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#32 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#33 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#34 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#35 0x00000000006da6e9 in LuaCallback::run (this=0xd7a15f8, results=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
#36 0x0000000000753caa in LuaActionListener::action (this=0xd7a15f0, 
    eventId="") at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:392
#37 0x0000000000618bc6 in gcn::Widget::generateAction (this=0x8ef0a60)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:616
#38 0x000000000061c227 in gcn::Button::mouseClick (this=0x8ef0a60, button=1)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/button.cpp:254
---Type <return> to continue, or q <return> to quit---
#39 0x00000000006185ff in gcn::Widget::_mouseInputMessage (this=0x8ef0a60, 
    mouseInput=...) at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:502
#40 0x000000000061dd91 in gcn::Container::_mouseInputMessage (this=0xd7ab110, 
    mouseInput=...)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/container.cpp:394
#41 0x000000000060ff1e in gcn::Gui::logic (this=0x8129c50)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/gui.cpp:155
#42 0x0000000000753ad9 in handleInput (event=0x0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:341
#43 0x00000000007d5f09 in WaitEventsOneFrame ()
    at /home/kroartem/SVN/Wyrmgus/src/video/sdl.cpp:989
#44 0x000000000075f8a6 in MenuScreen::run (this=0xd7ab110, loop=true)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:3115
#45 0x000000000083465b in tolua_stratagus_CMenuScreen_run00 (tolua_S=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:25142
#46 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#47 0x00007ffff7bc1e97 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#48 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#49 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#50 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#51 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#52 0x00000000006da6e9 in LuaCallback::run (this=0xd8a0f08, results=0)
---Type <return> to continue, or q <return> to quit---
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/luacallback.cpp:149
#53 0x0000000000753caa in LuaActionListener::action (this=0xd8a0f00, 
    eventId="") at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:392
#54 0x0000000000618bc6 in gcn::Widget::generateAction (this=0xd8a0d10)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:616
#55 0x000000000061c227 in gcn::Button::mouseClick (this=0xd8a0d10, button=1)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/button.cpp:254
#56 0x00000000006185ff in gcn::Widget::_mouseInputMessage (this=0xd8a0d10, 
    mouseInput=...) at /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:502
#57 0x000000000061dd91 in gcn::Container::_mouseInputMessage (this=0xd800800, 
    mouseInput=...)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/widgets/container.cpp:394
#58 0x000000000060ff1e in gcn::Gui::logic (this=0x8129c50)
    at /home/kroartem/SVN/Wyrmgus/src/guichan/gui.cpp:155
#59 0x0000000000753ad9 in handleInput (event=0x0)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:341
#60 0x00000000007d5f09 in WaitEventsOneFrame ()
    at /home/kroartem/SVN/Wyrmgus/src/video/sdl.cpp:989
#61 0x000000000075f8a6 in MenuScreen::run (this=0xd800800, loop=true)
    at /home/kroartem/SVN/Wyrmgus/src/ui/widgets.cpp:3115
#62 0x000000000083465b in tolua_stratagus_CMenuScreen_run00 (tolua_S=0x2487780)
    at /home/kroartem/SVN/Wyrmgus/tolua.cpp:25142
#63 0x00007ffff7bb7360 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
---Type <return> to continue, or q <return> to quit---
#64 0x00007ffff7bc1e97 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#65 0x00007ffff7bb77bd in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#66 0x00007ffff7bb6a9e in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#67 0x00007ffff7bb792b in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#68 0x00007ffff7bb33e8 in lua_pcall ()
   from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
#69 0x00000000006e69e8 in LuaCall (narg=0, clear=1, exitOnError=true)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:168
#70 0x00000000006e6d28 in LuaLoadFile (file="scripts/guichan.lua")
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/script.cpp:225
#71 0x0000000000710b98 in MenuLoop ()
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:305
#72 0x000000000071152f in stratagusMain (argc=1, argv=0x7fffffffdfb8)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:787
#73 0x00000000006da7cf in main (argc=1, argv=0x7fffffffdfb8)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/main.cpp:37

Part of Wyrmsun screen is black

Wyrmsun c544698
I've had this issue only once and didn't manage to reproduce it yet. The right part of the screen was black, see screenshot:

2015-10-23 16-55-07

Note: I wasn't changing resolution or something else during this game session.

Crash at the end of the game

Wyrmsun & Wyrmgus the latest.
I've played custom game, defeated 3 opponents, came to main menu and pressed Exit. This is what happened:

game ends
[Thread 0x7fffeaa35700 (LWP 5974) exited]

Program received signal SIGSEGV, Segmentation fault.
__GI___libc_free (mem=0x76007200370038) at malloc.c:2933
2933    malloc.c: Нет такого файла или каталога.
(gdb) bt
#0  __GI___libc_free (mem=0x76007200370038) at malloc.c:2933
#1  0x00000000007a5663 in CUnitType::~CUnitType (this=0x5e1d150, 
    __in_chrg=<optimized out>)
    at /home/kroartem/SVN/Wyrmgus/src/unit/unittype.cpp:864
#2  0x00000000007a8bd2 in CleanUnitTypes ()
    at /home/kroartem/SVN/Wyrmgus/src/unit/unittype.cpp:1882
#3  0x00000000006040c3 in CleanModules ()
    at /home/kroartem/SVN/Wyrmgus/src/game/loadgame.cpp:100
#4  0x0000000000710e1b in Exit (err=0)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:417
#5  0x000000000071164f in stratagusMain (argc=1, argv=0x7fffffffdf38)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/stratagus.cpp:789
#6  0x00000000006da87d in main (argc=1, argv=0x7fffffffdf38)
    at /home/kroartem/SVN/Wyrmgus/src/stratagus/main.cpp:37

quest screen is empty

last update seems botched: "/home/wyrmgus/src/stratagus/script_quest.cpp:247: CclGetQuestData: Quest "On the Vanaquisl" has no player color.
error in error handling"

no way to get back either, had to killall -9 wyrmsun64

empty

Crash when trying to enter Game Concepts menu

Wyrmsun b17661c
If you try to go to Encyclopedia -> Game Concepts, the game will fail with an assertion.

stratagus-dbg: /home/kroartem/SVN/Wyrmgus/src/guichan/widget.cpp:675: virtual void gcn::Widget::setHotKey(const char*): Assertion `!"Could not parse hot key"' failed.

I've narrowed it down to the file /scripts/game_concepts.lua, where a new button seems to be created with "" (empty) hotkey. There seems to be a bug in this for-loop:

for game_concept_key, game_concept_value in pairsByKeys(GameConcepts) do

Leaving the rest to you. ;)

Lack of hero's name in dialogue window

2015-11-20 20-11-58

Seems like this guy who is speaking should be Marbod but there is no name there. Moreover, when I was playing this quest I didn't have any guy with such name. Probably he has an empty name?

GSM setup has unobvious behaviour

GSM setup could have some improvements. Consider I want to choose random world and 2666 year BC but it is not possible now. It's possible iif exact world is chosen.

regression in I.A. ?

I'm now at quests "Gathering Materials" & "Hills of Shorbear", the enemy seams only to want to gather ressources; never attack, it only attack in a automated way if it's been attacked first. It won't produce fighter units either ?!

I tried some other previous quest "Northwards to the sea" & i have the same behaviour: after the first batch of fighters (like an handfull), enemy doesn't produce soldiers anymore.

A Crash

I played some custom matches and they look fun. I think it would be fun if the game becomes multiplayer. No one really plays by IP addresses. Later, I played the Earth campaign, but the game crashed when I opened the 2nd mission. Why is that? Secondly, in the first mission of the alternate campaign, I can't build infrastructure. As mentioned before, the custom missions were fun. That's because I was able to build everything. Love the music, btw.

Grand Strategy crash on Linux

A user reported the following crash when going to the grand strategy menu on Linux:

(gdb) bt
#0  0x00007ff0ddd0a0eb in __lll_lock_wait_private () from /usr/lib/libc.so.6
#1  0x00007ff0ddc908ac in malloc () from /usr/lib/libc.so.6
#2  0x00007ff0dfe3d25b in _dl_map_object_deps () from /lib64/ld-linux-x86-64.so.2
#3  0x00007ff0dfe43358 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#4  0x00007ff0dfe3ef94 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#5  0x00007ff0dfe42e01 in _dl_open () from /lib64/ld-linux-x86-64.so.2
#6  0x00007ff0ddd3284d in do_dlopen () from /usr/lib/libc.so.6
#7  0x00007ff0dfe3ef94 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2
#8  0x00007ff0ddd328df in dlerror_run () from /usr/lib/libc.so.6
#9  0x00007ff0ddd32951 in __libc_dlopen_mode () from /usr/lib/libc.so.6
#10 0x00007ff0ddd0a965 in init () from /usr/lib/libc.so.6
#11 0x00007ff0df547dcf in __pthread_once_slow () from /usr/lib/libpthread.so.0
#12 0x00007ff0ddd0aa7c in backtrace () from /usr/lib/libc.so.6
#13 0x00007ff0ddc35b02 in backtrace_and_maps () from /usr/lib/libc.so.6
#14 0x00007ff0ddc87bad in __libc_message () from /usr/lib/libc.so.6
#15 0x00007ff0ddc8d0fe in malloc_printerr () from /usr/lib/libc.so.6
#16 0x00007ff0ddc8ff26 in _int_realloc () from /usr/lib/libc.so.6
#17 0x00007ff0ddc910f0 in realloc () from /usr/lib/libc.so.6
#18 0x00007ff0dd19917a in ?? () from /usr/lib/libnvidia-tls.so.352.21
#19 0x00000000007b352c in luaM_realloc_ ()
#20 0x00000000007b07b9 in luaD_reallocstack ()
#21 0x00000000007b130d in luaD_precall ()
#22 0x00000000007b1484 in luaD_call ()
#23 0x00000000007b938c in luaV_settable ()
#24 0x00000000007b9fad in luaV_execute ()
#25 0x00000000007b14cd in luaD_call ()
#26 0x00000000007b0757 in luaD_rawrunprotected ()
#27 0x00000000007b1662 in luaD_pcall ()
#28 0x00000000007aed1f in lua_pcall ()
#29 0x0000000000654e58 in LuaCall(int, int, bool) ()
#30 0x0000000000655168 in LuaLoadFile(std::string const&) ()
#31 0x000000000065541b in CclLoad(lua_State*) ()
#32 0x00000000007b10bc in luaD_precall ()
#33 0x00000000007ba6a8 in luaV_execute ()
#34 0x00000000007b14cd in luaD_call ()
#35 0x00000000007b0757 in luaD_rawrunprotected ()
#36 0x00000000007b1662 in luaD_pcall ()
#37 0x00000000007aed1f in lua_pcall ()
#38 0x000000000064ac3b in LuaCallback::run(int) ()
#39 0x00000000006cd1e5 in LuaActionListener::action(std::string const&) ()
#40 0x00000000005ca4e6 in gcn::Widget::generateAction() ()
#41 0x00000000005cd6e5 in gcn::Button::mouseClick(int, int, int, int) ()
#42 0x00000000005c9fac in gcn::Widget::_mouseInputMessage(gcn::MouseInput const&) ()
#43 0x00000000005cefd0 in gcn::Container::_mouseInputMessage(gcn::MouseInput const&) ()
#44 0x00000000005c2413 in gcn::Gui::logic() ()
#45 0x00000000006cd034 in handleInput(SDL_Event const*) ()
#46 0x0000000000747173 in WaitEventsOneFrame() ()
#47 0x00000000006d8670 in MenuScreen::run(bool) ()
#48 0x000000000078cc14 in tolua_stratagus_CMenuScreen_run00(lua_State*) ()
#49 0x00000000007b10bc in luaD_precall ()
#50 0x00000000007ba59b in luaV_execute ()
#51 0x00000000007b14cd in luaD_call ()
#52 0x00000000007b0757 in luaD_rawrunprotected ()
#53 0x00000000007b1662 in luaD_pcall ()
#54 0x00000000007aed1f in lua_pcall ()
#55 0x0000000000654e58 in LuaCall(int, int, bool) ()
#56 0x0000000000655168 in LuaLoadFile(std::string const&) ()
#57 0x0000000000674eed in MenuLoop() ()
#58 0x0000000000675738 in stratagusMain(int, char**) ()
#59 0x000000000064ad20 in main ()

Seems like an issue with the Lua code, rather than the engine itself.

Constructing with multiple builders needs spare resources

When I start builiding with multiple builders selected, if I have just enough resources for the builiding (I guess if it's below twice the cost) only one of them starts building and I get a "Not enough resources to build ..." message for each other.

Filter input during hero creation

It's possible to create custom hero with just spaces, so it looks odd with no name and surname. I suggest trimming spaces or doing a simple check.

Packaging issue, wrapper script

I want to package wyrmsun for FreeBSD. It works fine by running wargus in data directory manually, however to install it systemwide it'll need a wrapper script and desirably .desktop file. The problem is that the game stores config and saved games in ./wyr. This is not acceptable for systemwide installation. Is it possible to make stratagus/wyrmgus use dotdir in user's $HOME? If not, it'll be nice to add canonical wrapper script into game repository which does mkdir and chdirs to e.g. $HOME/.config/Wyrmsun and then calls wyrmgus with path to game data.

Make Resolution selection nicer

I've seen you have a bug where setting the game to fullscreen and selecting non-working resolution pairs doesn't work. Could this be fixed by simply combining the resolutions again (like other games do?) In war1gus I now have this, which seems to work fine. One should add more resolutions, I guess :)

menu:addLabel("Video Resolution", offx + 16, offy + top, Fonts["game"], false)
  local resolutions = {"640x400", "800x480", "1024x640", "1280x800", "1440x900", "1680x1050"}
  resolution = menu:addDropDown(resolutions, offx + 16 + 250, offy + top,
    function(dd)
      local selected = resolutions[resolution:getSelected() + 1]
      local x = tonumber(string.gmatch(selected, "%d+")())
      local y = tonumber(string.gmatch(selected, "%d+$")())
      SetVideoSize(x, y)
      menu:stop()
      RunOptionsMenu()
    end)
  for idx,str in ipairs(resolutions) do
    local x = tonumber(string.gmatch(str, "%d+")())
    local y = tonumber(string.gmatch(str, "%d+$")())
    print(x) print(y) print(Video.Width) print(Video.Height)
    if Video.Width == x and Video.Height == y then
      resolution:setSelected(idx - 1)
      break
    end
  end

Hard to see which units are mine

When my germanic units fight with other germanic units, I can't tell which ones are mine, we are winning or losing, to retreat or not.

Drawing a circle with teamcolor under units for example would help a lot.

Make minimap unused area different colored from not revealed

If the map is not square then some of the minimap area is unused. Although you can send units there. It would be nice imo if it wasn't the same black as the not revealed terrain, so I could know the shape of the map. That helps when sending the first scouts.

Units

When units are moving (not attack-move) they react on enemies (especially if attacked) and drop their current order (Move). It is not very convenient, for example in survival missions: you decide that "has to survive" unit should exit from combat already, but he rushes in again and dies.
*sorry, forgot to update issue name

Info on minimal wyrmgus version

Currently there's no information on which minimal version of wyrmgus is required to run each specific release of wyrmsun. Maybe you could tag wyrmgus with the same versions as wyrmsun?

[Feature Request] Implement check for savegame compatibility

I've tried to load an old savegame and Wyrmsun silently exits with the following message:

/home/kroartem/SVN/Wyrmgus/src/unit/script_unittype.cpp:2153: CclDefineUnitStats: Unsupported tag: ForTheMotherland
Unsupported tag: ForTheMotherland
stack traceback:
    [C]: in function 'DefineUnitStats'
    [string ".//wyr/save/wut_.sav.gz"]:32: in main chunk
    [C]: in function 'StartSavedGame'
    [string "scripts/menus/load.lua"]:9: in function 'LoadGame'
    [string "scripts/guichan.lua"]:1344: in function 'RunProgramStartMenu'
    [string "scripts/guichan.lua"]:1398: in main chunk

So it may be a good idea to do checks whether it's possible to load game or not. However, I'm not sure when this check should be done: before showing existing savegames or before loading. In the first case, it could be rather slow if there are a lot of savegames. In the other case, just a message can be shown if savegame is not compatible.

Add background to text

Currently it is very hard to read white text with black shadow on heterogeneous background. I suggest wrapping all text (at least those one related to stories/etc) with a semi-transparent frame that will make reading easier. Another option would be to change font to something not so eye-hurting. :)

"Level up" doesn't update heroes' interface

I was playing the third quest where I had to subdue the natives and my hero leveled up. There is a slight remark that his menu didn't updated properly and I had to choose him again to be able to see an icon which leads to bonuses.
Secondly, I destroyed two buildings only by this hero and he didn't get any more XP.

Wyrmgus & Wyrmsun the latest.

First-time player problem?

I ran wyrmgus for the first time and got this message:

$ wyrmgus
Can't open file 'preferences.lua': No such file or directory
/usr/games/wyrmgus: line 5: 21946 Segmentation fault /usr/lib/games/wyrmgus/wyrmgus -d /usr/share/games/wyrmsun/ "$@"

I'm running Xubuntu 64-bit (14.04) and wyrmgus (1.5.2.-1~getdeb1 from Playdeb) reports:

$ wyrmgus -h
Wyrmsun v2.3.0, Copyright (c) 1998-2015 by The Stratagus Project
written by Lutz Sammer, Fabrice Rossi, Vladi Shabanski, Patrice Fortier,
Jon Gabrielson, Andreas Arens, Nehal Mistry, Jimmy Salmon, Pali Rohar,
cybermind and others.
[snip]

Seems like a file is missing but if you've run it before it's not a problem?

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.