ajbdev / phpsc2replay Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/phpsc2replay
Automatically exported from code.google.com/p/phpsc2replay
There are some debug info which appears in non-debug mode. It would be good to
add
if ($this->debug)
on line 497 in mpqfile.php for next release.
Original issue reported on code.google.com by [email protected]
on 28 Oct 2010 at 5:28
First, thanks (everyone) for open sourcing code and sharing your insights on
this project; they create an invaluable asset for the Starcraft community.
----
What steps will reproduce the problem?
1. Upload attached file with debug on at:
http://kuukkeli.ath.cx/ooaemkee/SC2Replay/upload_file.php
2. Inspect Byte: 00000167
Selection Change
Player 2
0x001301 -> 0x0730
DEBUG L2: Timestamp: 5, Frames: 0, Type: 1, Global: 0, Player ID: 2
(ShadesofGray), Event code: AC Byte: 00000167
3. Inspect Byte: 0000398C
Selection Change
Player 1
0x001301 -> 0x0298
DEBUG L2: Timestamp: 393, Frames: 22, Type: 1, Global: 0, Player ID: 1
(Zephid), Event code: AC Byte: 0000398C
What is the expected output? What do you see instead?
I would expect different Unit Type codes. Instead I see that both player 2's
Egg and player 1's tech lab (on a factory) have the same Unit Type Id which
cannot be correct.
What version of the product are you using? On what operating system?
I am using the currently live version of the product on the website linked.
Please provide any additional information below.
I have also run it locally on a reimplementation I created in python which
(with the same logic as in the repo) produced the same error (as you would
expect).
I have not currently located other instances of this conflict but I have
noticed that many units like eggs and morphing or burrowing units can
correspond to half a dozen different Unit Type Ids if you try to pin it down.
When I first encountered these issues I started a new map which demonstrates
what I'm talking about and is attached as well.
This only appears to be an issue with the selection event. I've been unable to
figure out the issues so far and am hoping that someone brighter than I could
perhaps solve it.
Original issue reported on code.google.com by [email protected]
on 6 Jan 2011 at 3:11
Attachments:
What steps will reproduce the problem?
1. Load sc2map editor.
2. Load any custom map.
3. Start map (File -> Test Document).
4. Play.
5. Try to parse replay.
Example replay attached.
Original issue reported on code.google.com by [email protected]
on 16 Oct 2010 at 11:55
Attachments:
What steps will reproduce the problem?
1. Download
http://www.fragster.de/download/60/demos-replays-starcraft-2-2on2/4481/sc2-esl-2
on2-cup-finale-13-juli/
2. Parse the 3rd replay (on Tarsonis Assault)
3.
What is the expected output? What do you see instead?
Zerg player myFEELooSeRE: An "empty" action is created after 54 seconds:
00:53 trains a Drone
00:54
01:09 trains an Overlord
What version of the product are you using? On what operating system?
It's a SC2 Beta replay parsed on v1.00
Please provide any additional information below.
Debug info from timestamp 54:
DEBUG L2: Timestamp: 54, Frames: 0, Type: 3, Global: 0, Player ID: 5
(DerFrodo), Event code: B1 Byte: 00001A3B
DEBUG L2: Timestamp: 54, Frames: 3, Type: 1, Global: 0, Player ID: 1
(myFEELooSeRE), Event code: AC Byte: 00001A42
Selection Change
Player 1
Time 869
Deselected Count: 2
Number of New Unit Types 1
1 x 0x007601
TOTAL: 1
0x007601 -> 0x374
DEBUG L2: Timestamp: 54, Frames: 0, Type: 1, Global: 0, Player ID: 1
(myFEELooSeRE), Event code: 0B Byte: 00001A52
DEBUG L2: Timestamp: 54, Frames: 0, Type: 3, Global: 0, Player ID: 5
(DerFrodo), Event code: B1 Byte: 00001A75
DEBUG L2: Timestamp: 54, Frames: 0, Type: 3, Global: 0, Player ID: 5
(DerFrodo), Event code: B1 Byte: 00001A7C
DEBUG L2: Timestamp: 54, Frames: 0, Type: 3, Global: 0, Player ID: 5
(DerFrodo), Event code: B1 Byte: 00001A83
DEBUG L2: Timestamp: 54, Frames: 0, Type: 1, Global: 0, Player ID: 3 (Aristeo),
Event code: AC Byte: 00001A8A
Selection Change
Player 3
Time 869
Deselected Count: 1
Number of New Unit Types 1
2 x 0x00B301
TOTAL: 2
0x00B301 -> 0x340
0x00B301 -> 0x354
DEBUG L2: Timestamp: 54, Frames: 3, Type: 3, Global: 0, Player ID: 5
(DerFrodo), Event code: B1 Byte: 00001A9E
DEBUG L2: Timestamp: 54, Frames: 2, Type: 1, Global: 0, Player ID: 1
(myFEELooSeRE), Event code: AC Byte: 00001AA5
Selection Change
Player 1
Time 874
Deselected Count: 1
Number of New Unit Types 1
1 x 0x008601
TOTAL: 1
0x008601 -> 0x32C
DEBUG L2: Timestamp: 54, Frames: 0, Type: 1, Global: 0, Player ID: 1
(myFEELooSeRE), Event code: 0B Byte: 00001AB5
DEBUG L2: Timestamp: 54, Frames: 0, Type: 1, Global: 0, Player ID: 5
(DerFrodo), Event code: AC Byte: 00001AD8
Selection Change
Player 5
Time 874
Deselected Count: 1
Number of New Unit Types 1
1 x 0x008601
TOTAL: 1
0x008601 -> 0x32C
DEBUG L2: Timestamp: 54, Frames: 3, Type: 1, Global: 0, Player ID: 1
(myFEELooSeRE), Event code: 0B Byte: 00001AE8
DEBUG L2: Timestamp: 55, Frames: 3, Type: 1, Global: 0, Player ID: 1
(myFEELooSeRE), Event code: 0B Byte: 00001B0C
Original issue reported on code.google.com by [email protected]
on 29 Sep 2010 at 7:10
What steps will reproduce the problem?
1. upload the attached file to your upload_file.php demo
2. various details like apm, buildings, units, etc. are not parsed
What is the expected output? What do you see instead?
Some Details are not parsed correctly
What version of the product are you using? On what operating system?
I tried a your script on linux with apache2, on windows with xampp, and your
upload_file.php demo. Always the same output.
Please provide any additional information below.
Keep up the good work :)
Original issue reported on code.google.com by [email protected]
on 28 Dec 2010 at 6:21
Attachments:
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 14 Oct 2010 at 11:59
When parsing a replay, selection changes and hotkey events are accounted for in
the APM calculation, but not exposed anywhere.
This makes deeper analysis impossible for client code.
Original issue reported on code.google.com by [email protected]
on 9 Mar 2011 at 6:56
What steps will reproduce the problem?
1. Upload Replay
2. Submit
3. See results
What is the expected output? What do you see instead?
Replay is clearly a 1v1, yet team size says 2v2.
What version of the product are you using? On what operating system?
1.1
Please provide any additional information below.
When starting a custom game, you have a choice of 1v1 or 2v2, etc... This game
here was selected as 2v2, but it was just a 1v1 with 2 empty slots. The problem
here is, reading team size seems to cause some inaccuracies in these
situations. Maybe consider counting players instead of parsing for team size.
Original issue reported on code.google.com by [email protected]
on 14 Oct 2010 at 12:02
Attachments:
Run the upload_file.php demo on the attached replay file.
Pretty much every replay yields these same results, though :(
18 sec trains a Probe (090E00)
18 sec trains a Probe (090E00)
320 sec lifts off (Factory) (080500)
320 sec lifts off (Factory) (080500)
348 sec researches Cloaking field (090600)
348 sec researches Cloaking field (090600)
514 sec lifts off (Factory)
514 sec lifts off (Factory)
515 sec lands (Factory)
(just one of the "two" factories landing after the factory/starport swap)
I presume this has to do with some structure not getting reset correctly, or
maybe some offset repeating itself, or being misaligned when parsing the replay
file?
Got any good ideas? :)
Original issue reported on code.google.com by [email protected]
on 30 Aug 2010 at 10:44
Attachments:
What steps will reproduce the problem?
1. See attached replay
2. Parse
What is the expected output? What do you see instead?
Two teams of two players. Instead see two teams, one of 1 player, one of 3
players.
What version of the product are you using? On what operating system?
Newest release of phpsc2replay on 32bit debian testing
Original issue reported on code.google.com by [email protected]
on 3 Nov 2010 at 10:26
Attachments:
What steps will reproduce the problem?
1.Parse the replay
I suppose to see parsed data like race, player names etc. but have nothing
instead. I mean no data at all!
1.40, shared UNIX hosting
Replay attached.
Original issue reported on code.google.com by [email protected]
on 9 Apr 2011 at 10:12
Attachments:
I think you have a bug with addPlayerAbility and $numevents for zergs players.
For exemple in this replay phpsc2replay return:
- Drone :: x53
- Overlord :: x11
- Zergling x 2 :: x 26
- Roach :: x 23
In fact in this game i just made 18 drones, 6 overlords, 5 zerlings and 10
roachs. I try to fix this bug but for now i can't understand why.
I think it's link to the larva production system because only zerg bug and the
queen number is correct.
Do you have an idea?
Original issue reported on code.google.com by [email protected]
on 26 Mar 2011 at 6:13
Attachments:
What steps will reproduce the problem?
1. This only occurs in the latest version (Revision 5bbf12d4bf)
The parser tends to recognize second player as Observer. Already double
confirmed.
Original issue reported on code.google.com by [email protected]
on 13 Aug 2010 at 9:18
What steps will reproduce the problem?
1. Update SC2 to 1.2.0
2. Play Game
3. Upload Replay!
;-)
Works perfectly for all of my files up until 1.2.0, then crashes and scrolls
errors. Thanks for all the hard work. (I know 1.2.0 is not supported yet, but I
figured I'd add the issue)
Original issue reported on code.google.com by [email protected]
on 12 Jan 2011 at 5:57
Replay does not parse with v1.3 + 1.2 patch. Replay does not parse using
http://kuukkeli.ath.cx/ooaemkee/SC2Replay/upload_file.php (assuming v1.4 here)
Output from sample script is simply:
Peak memory usage: 786432 bytes
Page generated in 15 ms.
Original issue reported on code.google.com by [email protected]
on 31 Jan 2011 at 8:59
Attachments:
What steps will reproduce the problem?
1. parse a german "lost temple -> verschollener tempel" replay
What is the expected output? What do you see instead?
Expected: Lost Temple. Instead: Toxic Slums.
What version of the product are you using? On what operating system?
Newest version. Linux root server (debian).
Please provide any additional information below.
checked the parser output using this site:
http://kuukkeli.ath.cx/ooaemkee/SC2Replay/upload_file.php
checked the replay using a hex editor -> localized map name is "verschollener
tempel" (lost temple).
The map hashes seem to be mixed up. Replay in question attached. I can't check
the replay starting the sc2 game, since i don't own the game. I'm just one of
the tech-admins on our site responsible for our implementation of your awesome
sc2 parser.
Original issue reported on code.google.com by [email protected]
on 26 Oct 2010 at 4:21
Attachments:
8: Undefined offset: 3
File: sc2replay.php
Line: 467
replay attached
Original issue reported on code.google.com by [email protected]
on 22 Mar 2011 at 4:11
Attachments:
Timestamp is not calculated properly and the function will likely be buggy if
the chat log is originally empty.
If the chatlog is not empty, the message is inserted properly but the timestamp
generated will be dodgy.
Original issue reported on code.google.com by [email protected]
on 10 Aug 2010 at 8:55
Player IDs are incorrect for rabbitRun and Scorp in the attached replay, parsed
as 3 for rabbitRun and 5 for Scorp while they are actually the other way around.
Original issue reported on code.google.com by [email protected]
on 9 Aug 2010 at 6:45
Attachments:
sh-3.2# make
[ 10%] Building CXX object CMakeFiles/ReplayAnalyzer.dir/src/info.cpp.o
[ 20%] Building CXX object CMakeFiles/ReplayAnalyzer.dir/src/messageevents.cpp.o
[ 30%] Building CXX object CMakeFiles/ReplayAnalyzer.dir/src/mpq.cpp.o
[ 40%] Building CXX object CMakeFiles/ReplayAnalyzer.dir/src/mpqimpl.cpp.o
[ 50%] Building CXX object CMakeFiles/ReplayAnalyzer.dir/src/player.cpp.o
[ 60%] Building CXX object CMakeFiles/ReplayAnalyzer.dir/src/replay.cpp.o
[ 70%] Building CXX object CMakeFiles/ReplayAnalyzer.dir/src/syncevents.cpp.o
Linking CXX static library Debug/repad.a
[ 80%] Built target ReplayAnalyzer
Scanning dependencies of target detailsparser
[ 90%] Building CXX object
tools/CMakeFiles/detailsparser.dir/detailsparser.cpp.o
Linking CXX executable detailsparser
Undefined symbols:
"boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)", referenced from:
boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description const&)in detailsparser.cpp.o
"boost::program_options::validate(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)", referenced from:
boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) constin detailsparser.cpp.o
"vtable for boost::program_options::variables_map", referenced from:
boost::program_options::variables_map::~variables_map()in detailsparser.cpp.o
"boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) const", referenced from:
vtable for boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>in detailsparser.cpp.o
"typeinfo for boost::program_options::value_semantic_codecvt_helper<char>", referenced from:
typeinfo for boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>in detailsparser.cpp.o
"boost::program_options::options_description::m_default_line_length", referenced from:
_main in detailsparser.cpp.o
_main in detailsparser.cpp.o
"boost::program_options::abstract_variables_map::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const", referenced from:
boost::program_options::variables_map::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) constin detailsparser.cpp.o
"boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)", referenced from:
_main in detailsparser.cpp.o
"boost::program_options::detail::cmdline::set_positional_options(boost::program_options::positional_options_description const&)", referenced from:
boost::program_options::basic_command_line_parser<char>::positional(boost::program_options::positional_options_description const&)in detailsparser.cpp.o
"boost::program_options::to_internal(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > boost::program_options::to_internal<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)in detailsparser.cpp.o
"boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)", referenced from:
_main in detailsparser.cpp.o
"boost::program_options::arg", referenced from:
boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() constin detailsparser.cpp.o
boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() constin detailsparser.cpp.o
"boost::program_options::operator<<(std::basic_ostream<char, std::char_traits<char> >&, boost::program_options::options_description const&)", referenced from:
_main in detailsparser.cpp.o
"boost::program_options::positional_options_description::add(char const*, int)", referenced from:
_main in detailsparser.cpp.o
"boost::program_options::options_description_easy_init::operator()(char const*, char const*)", referenced from:
_main in detailsparser.cpp.o
_main in detailsparser.cpp.o
"boost::program_options::detail::cmdline::run()", referenced from:
boost::program_options::basic_command_line_parser<char>::run() in detailsparser.cpp.o
"boost::program_options::variables_map::variables_map()", referenced from:
_main in detailsparser.cpp.o
"boost::program_options::notify(boost::program_options::variables_map&)", referenced from:
_main in detailsparser.cpp.o
"vtable for boost::program_options::value_semantic_codecvt_helper<char>", referenced from:
boost::program_options::value_semantic_codecvt_helper<char>::value_semantic_codecvt_helper()in detailsparser.cpp.o
boost::program_options::value_semantic_codecvt_helper<char>::~value_semantic_codecvt_helper()in detailsparser.cpp.o
"boost::program_options::positional_options_description::positional_options_description()", referenced from:
_main in detailsparser.cpp.o
"boost::program_options::detail::cmdline::cmdline(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)", referenced from:
boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char**)in detailsparser.cpp.o
"boost::program_options::options_description::options_description(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)", referenced from:
_main in detailsparser.cpp.o
"boost::program_options::options_description::add_options()", referenced from:
_main in detailsparser.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [tools/detailsparser] Error 1
make[1]: *** [tools/CMakeFiles/detailsparser.dir/all] Error 2
make: *** [all] Error 2
Original issue reported on code.google.com by [email protected]
on 28 Aug 2010 at 4:12
I am posting my findings here in response to a discussion thread asking for a
way to determine the bnet server #
Quote:
Example, European server URL:
http://eu.battle.net/sc2/eu/profile/203342/1/srsRAZERnAni/
Example Russian server URL
http://eu.battle.net/sc2/eu/profile/160089/2/GrAsE/
The difference in URL here is "1" or "2" before player name. Is this info
stored in replay?
URL for 1st example: http://sc2rep.ru/show.php?id=1073
URL for 2nd example: http://sc2rep.ru/down.php?id=1111
=========================================
I am not 100% sure about this, but I am fairly confidant that the "server"
identifier is located at $player[1][2]
I added the following to lines 213 of sc2replay.php to extract this information
to be stored in the $playerArray
$p["server"] = $player[1][2];
This has worked for all the replays that I have been able to test so far.
Original issue reported on code.google.com by [email protected]
on 9 Sep 2010 at 3:26
function getGamePublic() { return $this->gamePublic; }
Could you add this to the sc2replay.php class? :)
Original issue reported on code.google.com by [email protected]
on 30 Aug 2010 at 10:45
What steps will reproduce the problem?
1. Try to Parse the replay
What is the expected output? What do you see instead?
I expected replay analysis of the whole replay. Just first 423 seconds were
returned.
What version of the product are you using? On what operating system?
1.10, Mac OS X
Please provide any additional information below.
Replay file is attached.
Original issue reported on code.google.com by [email protected]
on 14 Oct 2010 at 2:41
Attachments:
What steps will reproduce the problem?
1. upload a valid sc2 files (bug happens on every rep I've uploaded so far)
What is the expected output? What do you see instead?
The first weired things is this "Map name" then I can't get the team
sizes and race coloru apm box in the table are empty
What version of the product are you using? On what operating system?
1.30 on Windows 7, php ver 5.3.2
same happens on Windows 2003 server
Please provide any additional information below.
Thank you for you appreciable work!
Original issue reported on code.google.com by [email protected]
on 26 Nov 2010 at 4:09
Just check this replay I attached.
Original issue reported on code.google.com by [email protected]
on 20 Oct 2010 at 2:01
Attachments:
What steps will reproduce the problem?
1. Parse a custom 1v1 game
What is the expected output? What do you see instead?
teamAttrib should be 1v1 but is 2v0
What version of the product are you using? On what operating system?
current repository version
Please provide any additional information below.
When commenting out lines 305-308 in sc2replay.php the parsing works just as
expected. I would suggest checking that part if it does actually make any sense.
Original issue reported on code.google.com by [email protected]
on 13 Jan 2011 at 3:43
Parse errors currently manifest themselves as ugly "unpack" messages. This
needs work; either in the form of prefixing read operations with @, or
something else (with less overhead).
Original issue reported on code.google.com by [email protected]
on 19 Jan 2011 at 6:53
What steps will reproduce the problem?
1. If a third hosts a game the chatlog is parsed wrong. Messages aren't stored
with the corresponding author. Correctly the hoster is not visible in the file
if not playerhost, that might be the problem.
Original issue reported on code.google.com by [email protected]
on 8 Sep 2010 at 3:08
What steps will reproduce the problem?
1. Parse the file using your great parser
2. For instance, have a look to oGsTheWinD events in the early game. According
to the parser, 6 Overlords in the row have been trained... which is not
possible at this moment of the game.
What is the expected output? What do you see instead?
I looked at the replay and of course, only 1 Overlord has been trained.
This is probably due to the keyboard spam... or else :)
It doesn't thappen only for this replay.
What version of the product are you using? On what operating system?
Latest atm: 1.3
MacOS X 10.6.5
Please provide any additional information below.
This is not useful, but thanks for your parser. This is a great tool.
Also, do you think it could be possible to get the supply limit (what we have
in the top right of the screen In Game) in the same way we hame the time line ?
Thanks!
Original issue reported on code.google.com by [email protected]
on 17 Dec 2010 at 11:14
Attachments:
Im trying to update my phpsc2replay 1.20 to phpsc2replay 1.30, and when i
replace the files give this error: Error parsing uploaded file, make sure it is
a valid MPQ archive!
Original issue reported on code.google.com by [email protected]
on 19 Nov 2010 at 9:50
Nothing serious but I guess you are violating the PHP license:
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from [email protected]. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
(http://www.php.net/license/3_01.txt)
I had the same issue with Warcraft III parser ;)
Original issue reported on code.google.com by [email protected]
on 7 Aug 2010 at 3:45
If more than 2 players are involved a win does not get calculated correctly.
Displays as -1 and 0.
In some cases -1 and 0's don't show up for the correct people. (-1 appears to
indicate a loss)
Original issue reported on code.google.com by [email protected]
on 29 Aug 2010 at 7:00
Attachments:
What steps will reproduce the problem?
1. Load the attached file into phpsc2replay (I was informed the names are in
Russian, I'm assuming this is the main issue since it has been working fine
with english only names.)
What is the expected output? What do you see instead?
Some data such as the version and length parse fine but the array returned by
getPlayers() is empty.
What version of the product are you using? On what operating system?
phpsc2replay v1.20 on Windows 7 using PHP 5.2.14
Please provide any additional information below.
Is this something that is supposed to work, or something that just isn't
implemented and will it be implemented in the future.
Original issue reported on code.google.com by [email protected]
on 4 Nov 2010 at 10:23
Attachments:
What steps will reproduce the problem?
1. Upload through upload_file.php on 64-bit Linux with php v5.2.9
What is the expected output? What do you see instead?
Should extract file data but all fail with error message similar to "Error
reading the replay.details file".
What version of the product are you using? On what operating system?
Current on Linux x86_64 with php 5.2.9.
Please provide any additional information below.
I ran this fine on a local server with Windows Vista 64 and php 5.2.13. In
doing some debugging I traced the variation down to the results of
$temp1 = ($seed & 0xFFFF) << 0x10;
in the function initCryptTable.
e.g for a $seed value of 2143124 the vista install returns $temp1 value of
-1282146304 while linux 64 returns 3012820992.
Is this due to the problem of php being unable to handle unsigned integers over
2^31? It seems to me that the Linuc machine actually hadled the shift
correctly while the Vista machine returned a signed integer result but the
Vista machine is extracting file data without a problem?
Original issue reported on code.google.com by [email protected]
on 11 Jun 2010 at 5:22
One of the great feature of phpsc2replay is the informations provided in
sc2replayutils.php :
for each ability, we have 'min', 'gas' and 'sup'.
These values are handled manually, but we could avoid making changes at each
StarCraft patch by using the UnitData.xml that is located in
./Mods/Liberty.SC2Mod/Base.SC2Data on ./GameData/
We may provide a parser of this file and generate one file per patch named (for
example) unitdata.v11.php
Then, every usage of phpsc2replay can refer to it to get the data you want.
Moreover, the "id" attribute of CUnit is unique. Maybe there is a logic in the
matching between this and the ability code in replays ?
Extract of the XML :
<CUnit id="Ultralisk">
<DeathRevealRadius value="3"/>
<Race value="Zerg"/>
<Mob value="Multiplayer"/>
<LifeStart value="600"/>
<LifeMax value="600"/>
<LifeArmor value="1"/>
<LifeRegenRate value="0.2734"/>
<LifeArmorName value="Unit/LifeArmorName/ZergGroundArmor"/>
<Speed value="2.25"/>
<SpeedMultiplierCreep value="1.3"/>
<Acceleration value="1000"/>
<LateralAcceleration value="46.0625"/>
<Food value="-6"/>
<AttackTargetPriority value="20"/>
<DamageDealtXP value="1"/>
<DamageTakenXP value="1"/>
<KillXP value="150"/>
<Radius value="1"/>
<SeparationRadius value="1"/>
<InnerRadius value="0.75"/>
<CargoSize value="8"/>
<ScoreMake value="800"/>
<ScoreKill value="1600"/>
<ScoreResult value="BuildOrder"/>
<SubgroupPriority value="12"/>
<MinimapRadius value="1"/>
<FlagArray index="PreventDestroy" value="1"/>
<FlagArray index="UseLineOfSight" value="1"/>
<FlagArray index="TurnBeforeMove" value="1"/>
<FlagArray index="AISplash" value="1"/>
<TurningRate value="360"/>
<PlaneArray index="Ground" value="1"/>
<Collide index="Ground" value="1"/>
<Sight value="9"/>
<AbilArray Link="stop"/>
<AbilArray Link="attack"/>
<AbilArray Link="move"/>
<AbilArray Link="BurrowUltraliskDown"/>
<CardLayouts>
<LayoutButtons Face="Move" Type="AbilCmd" AbilCmd="move,Move" Row="0" Column="0"/>
<LayoutButtons Face="Stop" Type="AbilCmd" AbilCmd="stop,Stop" Row="0" Column="1"/>
<LayoutButtons Face="MoveHoldPosition" Type="AbilCmd" AbilCmd="move,HoldPos" Row="0" Column="2"/>
<LayoutButtons Face="Attack" Type="AbilCmd" AbilCmd="attack,Execute" Row="0" Column="4"/>
<LayoutButtons Face="MovePatrol" Type="AbilCmd" AbilCmd="move,Patrol" Row="0" Column="3"/>
<LayoutButtons Face="BurrowDown" Type="AbilCmd" AbilCmd="BurrowUltraliskDown,Execute" Row="2" Column="4"/>
</CardLayouts>
<Attributes index="Armored" value="1"/>
<Attributes index="Biological" value="1"/>
<Attributes index="Massive" value="1"/>
<EditorCategories value="ObjectType:Unit,ObjectFamily:Melee"/>
<GlossaryCategory value="Unit/Category/ZergUnits"/>
<GlossaryPriority value="180"/>
<CostCategory value="Army"/>
<CostResource index="Minerals" value="300"/>
<CostResource index="Vespene" value="200"/>
<GlossaryStrongArray value="Marine"/>
<GlossaryStrongArray value="Zealot"/>
<GlossaryStrongArray value="Zergling"/>
<GlossaryWeakArray value="Marauder"/>
<GlossaryWeakArray value="Immortal"/>
<KillDisplay value="Always"/>
<WeaponArray Link="KaiserBlades"/>
<WeaponArray Link="Ram"/>
<Fidget>
<ChanceArray index="Anim" value="50"/>
<ChanceArray index="Idle" value="50"/>
</Fidget>
<TauntDuration index="Cheer" value="5"/>
</CUnit>
Original issue reported on code.google.com by [email protected]
on 9 Oct 2010 at 10:02
Attachments:
What steps will reproduce the problem?
Parse attached replay
What is the expected output? What do you see instead?
Parse fails at about 1/3rd of the replay. Also, one of the players' race is
incorrect.
Original issue reported on code.google.com by [email protected]
on 24 Jan 2011 at 8:53
public static $colorIndices = array(1 => "Red", 2=> "Blue", 3=> "Teal", 4=>
"Purple", 5=> "Yellow", 6 => "Orange", 7=> "Green", 8=> "Pink");
should be changed to:
in sc2replay.php
public static $colorIndices = array(1 => "Red", 2=> "Blue", 3=> "Teal", 4=>
"Purple", 5=> "Yellow", 6 => "Orange", 7=> "Green", 8=> "Light Pink", 9=>
"Violet", 10=> "Light Gray", 11=> "Dark Green", 12=> "Brown", 13=>"Light
Green", 14=>"Dark Grey", 15=>"Pink");
to include all possible user color selections.
Original issue reported on code.google.com by [email protected]
on 29 Aug 2010 at 9:05
I found the following missing map hashes (from version 16605 and 16561).
If I understand your code, the whole block is duplicated, when only the maphash
changed (and not the map name). Maybe we could handle it better to avoid such
duplicates ?
I can help you with this if you want.
------
"High Ground" c687f2019d8727efd7643baaf374a6cfd17426d9fcadbf3c7e68add8fabfc0e6
"Shakuras Plateau"
147b0b1af57211e9dadbe715baff82e1393b8994dc7e0abce6d66401fbe3c673
Delta Quadrant e22873b1c653920390a0a9792afa05dae7ef6b425285023d0aed40ba08b316d9
Toxic Slums 32d145b82695942fb39203c0369d8b0af321fcdb83771b9e8f4b05c902bfe1f9
Lost Temple 58558f452af5ccf36c2eb1a6f55f510b4779b21fb0c316cceca38a69c5ffb3d1
"Monsoon" 7478eedd1db831d9549ce9e6480aaebe6f64b507417f33ff5d26dc2b55c2a2e8
"Tarsonis Assault" 404c0b66d28ee67c93de133ca3e6043293def1413feb0b4304fbf655b268db02
Jungle Basin a6633d28c194b94e0dfbb163bcf6e3b307d4be0ac45d0f2c469b52cc17923c05
Sand Canyon c8f51b300a4c67e6f7f74f1414492df7494e4f39e40d81909b250f6ac9b30811
"Megaton" c10c18ee4ed6c9d947049eb36bab3ea92b9d63eb76a858e8a7c55009887f3ff7
Dig Site d603d8b766deaab29c40cc8fba443e7d098a8541ed4fdc0620869d557612081b
Lava Flow 094049180812d81a8315152a1c86571ee59989197f05da673506bddc13c1536b
"Typhon" 320cd118d6c04b15e07d14a7c8dea3ae8cf72aa5637b47c68ad7ee7d13b8302a
"Monlyth Ridge"
dec3f2d368017bb2deb6e168a517325dd2ee6ff6e5e8f159724836987ee170bf
"High Ground" c687f2019d8727efd7643baaf374a6cfd17426d9fcadbf3c7e68add8fabfc0e6
Original issue reported on code.google.com by [email protected]
on 12 Oct 2010 at 3:09
What steps will reproduce the problem?
1. upload attached file
2. see how it's parsed
What is the expected output? What do you see instead?
game events are not being parsed
What version of the product are you using? On what operating system?
1.3
Please provide any additional information below.
team size is 2v2, but the real team size is 1v1, tried to parse it on v1.2 as
well and game events were parsed correctly, but the teams were messed up
Original issue reported on code.google.com by [email protected]
on 29 Nov 2010 at 5:51
Attachments:
What steps will reproduce the problem?
Parse the attached replay (player 2 @22:32 uses this ability)
Original issue reported on code.google.com by [email protected]
on 20 Jan 2011 at 10:51
Attachments:
What steps will reproduce the problem?
1. Parse any of the 2 attached replays
What is the expected output? What do you see instead?
The expected output is one of the players having the win flag set.
What version of the product are you using? On what operating system?
current repository version (with teamAttrib fix)
Please provide any additional information below.
In the first replay one player leaves and the other should be the winner.
In the second replay all buildings of one player are destroyed and the other
should be the winner.
replays are from before 1.2.0
Original issue reported on code.google.com by [email protected]
on 13 Jan 2011 at 3:50
Attachments:
What steps will reproduce the problem?
1. Have a host that does not support Bzip2 such as DreamHost
What is the expected output? What do you see instead?
Nothing is outputted other than the HTML.
What version of the product are you using? On what operating system?
1.1, using it on Linux Debian.
Please provide any additional information below.
It doesn't work at all without the Bzip2, and there is no alternative to it.
What is the purpose of the Bzip2?
Original issue reported on code.google.com by [email protected]
on 17 Oct 2010 at 11:19
Some elements at the end of the array in $depHashes are missing '"type" =>
SC2_DEPMAP'.
Also, I found some map hashes not present in your file. How do you handle
multiple hashes for the "same map" (ie same name) ?
Original issue reported on code.google.com by [email protected]
on 11 Oct 2010 at 2:43
0x0A0303 => array('desc' => 'researches Ground armor level 1', 'name' => 'Ground weapons L1', 'type' => SC2_TYPEUPGRADE, 'subtype' => SC2_SUBTYPECREATE, 'min' => 100, 'gas' => 100),
0x0A0304 => array('desc' => 'researches Ground armor level 2', 'name' => 'Ground weapons L2', 'type' => SC2_TYPEUPGRADE, 'subtype' => SC2_SUBTYPECREATE, 'min' => 175, 'gas' => 175),
0x0A0305 => array('desc' => 'researches Ground armor level 3', 'name' => 'Ground weapons L3', 'type' => SC2_TYPEUPGRADE, 'subtype' => SC2_SUBTYPECREATE, 'min' => 225, 'gas' => 225),
...should be:
0x0A0303 => array('desc' => 'researches Ground armor level 1', 'name' =>
'Ground armor L1', 'type' => SC2_TYPEUPGRADE, 'subtype' => SC2_SUBTYPECREATE,
'min' => 100, 'gas' => 100),
0x0A0304 => array('desc' => 'researches Ground armor level 2', 'name' => 'Ground armor L2', 'type' => SC2_TYPEUPGRADE, 'subtype' => SC2_SUBTYPECREATE, 'min' => 175, 'gas' => 175),
0x0A0305 => array('desc' => 'researches Ground armor level 3', 'name' => 'Ground armor L3', 'type' => SC2_TYPEUPGRADE, 'subtype' => SC2_SUBTYPECREATE, 'min' => 225, 'gas' => 225),
Original issue reported on code.google.com by [email protected]
on 1 Sep 2010 at 10:31
So it seems that building this stuff on windows is hard at best. I actually
haven't managed to build it because of some weird linking errors with libmpq.
I'm not sure how many people would actually use this part on Windows, so if
you're interested, make a comment below. If enough people are interested, I'll
try to figure something out.
Original issue reported on code.google.com by [email protected]
on 4 Sep 2010 at 1:26
What steps will reproduce the problem?
1. Upload a lengthy replay (usually breaks around the 50 min mark)
2. phpsc2replay only parses up to about 12 minutes
3. Most data is lost
What is the expected output? What do you see instead?
Expected output: Information for the whole duration of the replay
What I see: Premature end of output (only parses like 12 minutes of the replay)
What version of the product are you using? On what operating system?
Latest (1.3) Linux Server with Bzip2, PHP, etc installed.
Please provide any additional information below.
These replays are from the Official release of StarCraft II. No beta replays
were used.
It also happened on the test website provided.
I attached a replay that causes an error.
Original issue reported on code.google.com by [email protected]
on 24 Dec 2010 at 10:29
Attachments:
I try to compile 1.40 version with hiphop-php. But MPQFile->readFile() always
return false in line 368: "if (!$flag_file) return false;"
Original issue reported on code.google.com by [email protected]
on 31 Jan 2011 at 7:02
When I send a replay, I see that information from the server is wrong
Example: Sending a replay of the LA server, it appears that the server is U.S.
i am using phpsc2replay 1.10
Original issue reported on code.google.com by [email protected]
on 17 Oct 2010 at 3:52
As of Patch 1.1 events in Replay Files aren't parsed properly.
Error on the upload Script:
Version: 1.1.0.16561
Warning: unpack() [function.unpack]: Type C: not enough input, need 1, have 0
in /opt/lampp/htdocs/ooaemkee/SC2Replay/mpqfile.php on line 87
Warning: unpack() [function.unpack]: Type C: not enough input, need 1, have 0
in /opt/lampp/htdocs/ooaemkee/SC2Replay/mpqfile.php on line 87
Original issue reported on code.google.com by [email protected]
on 23 Sep 2010 at 4:53
Hello,
First many thanks for the tool :)
In the file sc2replayutils.php the map name "Kulas Ravine" is used for two
different code.
Regards,
Christophe
Original issue reported on code.google.com by [email protected]
on 18 Aug 2010 at 12:52
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.