Page 1 of 3

Scripting branch testing

Posted: Thu Oct 25, 2012 10:20 pm
by randi
As some of you have no doubt noticed, there is a scripting branch for ZDoom. At the moment, there aren't any useable new features. On the other hand, there have been several significant under-the-hood changes. Right now I would like to verify that it behaves identically to the version in trunk. I am particularly interested in its behavior with DECORATE-heavy wads, since action functions are now executed with a general purpose VM. At the moment, it writes a disasm.txt file showing the disassembly for all action functions, if anyone is interested in what this looks like.

So if you feel like trying it out and helping me out, please download and leave feedback here.

Re: Scripting branch testing

Posted: Thu Oct 25, 2012 10:43 pm
by edward850
It crashes when starting a new game with Zen Dynamics (zendyn_x.wad).

Re: Scripting branch testing

Posted: Thu Oct 25, 2012 10:47 pm
by Kinsie
Found a bug! Not sure if it's on my end or yours. From the Reelism DECORATE...
Spoiler:
When killed, this actor should bounce up into the air, spewing explosions, then stop and get deleted when it hits the ground. In this build, it never gets deleted, it just sits there creating explosions forever.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 9:17 am
by Major Cooke
I could give this a shot with AEons of Death. That is highly action function extensive to the extreme... Will give it a boot-up soon.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 10:10 am
by Enjay
AEons of death probably would be the "acid test" for this right enough.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 2:12 pm
by Major Cooke
Oooh yeah, especially all the special effects I've coded for it!

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 2:52 pm
by Edward-san
yeah and how much time is required to track down the real problem?

btw, something related to zscript branch: does the compilation with linux require some more packages than the ones listed in the wiki? Because, as I said in the 'Zdoom in Linux' thread, I was not able to compile it from scratch, with the same settings as the normal compilation...

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 3:29 pm
by randi
Updated first post with a new build that addresses the problems pointed out so far.

AEons of Death runs, but I'm not familiar enough with it to know if it's working correctly or not.
Edward-san wrote:btw, something related to zscript branch: does the compilation with linux require some more packages than the ones listed in the wiki?
It shouldn't. I built it successfully with MinGW a few days ago, and that uses the same build system as for Linux.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 4:10 pm
by edward850
randi wrote:Updated first post with a new build that addresses the problems pointed out so far.
It appears to be the exact same build from yesterday.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 4:44 pm
by Blzut3
You forgot to make ZDoom depend on zcc-parse.c:

Code: Select all

Index: src/CMakeLists.txt
===================================================================
--- src/CMakeLists.txt  (revision 3910)
+++ src/CMakeLists.txt  (working copy)
@@ -914,6 +914,7 @@
 )
 
 set_source_files_properties( xlat/parse_xlat.cpp PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/xlat_parser.c" )
+set_source_files_properties( zscript/zcc_parser.cpp PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/zcc-parse.c" )
 set_source_files_properties( sc_man.cpp PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/sc_man_scanner.h" )
 
 if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
Edit: And I guess while I'm at it here are the zscript related warnings:

Code: Select all

[ 97%] Building CXX object src/CMakeFiles/zdoom.dir/zscript/vmexec.o
In file included from /home/blzut3/Code/ZDoom/branches/scripting/src/zscript/vmexec.cpp:88:0:
/home/blzut3/Code/ZDoom/branches/scripting/src/zscript/vmexec.h: In static member function ‘static int VMExec_Checked::Exec(VMFrameStack*, const VMOP*, VMReturn*, int)’:
/home/blzut3/Code/ZDoom/branches/scripting/src/zscript/vmexec.h:721:27: warning: comparison is always true due to limited range of data type [-Wtype-limits]
/home/blzut3/Code/ZDoom/branches/scripting/src/zscript/vmexec.h:734:27: warning: comparison is always true due to limited range of data type [-Wtype-limits]
/home/blzut3/Code/ZDoom/branches/scripting/src/zscript/vmexec.h:747:27: warning: comparison is always true due to limited range of data type [-Wtype-limits]

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 4:57 pm
by randi
edward850 wrote:It appears to be the exact same build from yesterday.
Got the new one up for reals this time.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 5:29 pm
by edward850
Some issues with Zen Dynamics:
  • Ammo counts aren't shown in any hud, and weapons you have aren't shown in the alt-hud.
  • It appears the grenades aren't replacing properly. All grenade pickups are the Zdoom.pk3 grenades.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 5:54 pm
by Edward-san
Blzut3 wrote:You forgot to make ZDoom depend on zcc-parse.c:
Ugh, I didn't search hard enough. That change worked.

Still talking about gcc warnings, I get constantly these warnings each .o file:

Code: Select all

/home/edward-san/zdoom/branch/scripting/src/tarray.h: In member function ‘hash_t THashTraits<float>::Hash(float)’:
/home/edward-san/zdoom/branch/scripting/src/tarray.h:453:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/home/edward-san/zdoom/branch/scripting/src/tarray.h: In member function ‘hash_t THashTraits<double>::Hash(double)’:
/home/edward-san/zdoom/branch/scripting/src/tarray.h:460:53: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
[edit]Each time I run ./zdoom and then I exit, I get in the folder a file called 'disasm.txt', I don't know its purpose. :\

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 6:34 pm
by Gez
Randy's opening paragraph wasn't that TL;DR...
randi wrote:At the moment, it writes a disasm.txt file showing the disassembly for all action functions, if anyone is interested in what this looks like.

Re: Scripting branch testing

Posted: Fri Oct 26, 2012 7:44 pm
by Edward-san
I noticed that A_Explode doesn't do the splash damage. You can verify by using a normal rocket launcher against the zombies in map01. Also, if you make explode the barrels they won't cause any harm to the player.