Comments (8)
I fixed it! The whole thought process is on my twitter but here's the beef: https://twitter.com/NoxicoDev/status/1284492738831044613
And here's a direct link to today's build, with this fix included: http://helmet.kafuka.org/sci/SCICompanion.exe
from scicompanion.
The example I've been working with is (super init:)
in room 200.
35 57 ldi 57
36 push
39 00 pushi 0 // species
57 36 04 super Rm 4
In DecompilerNew.cpp
line 1507, it's supposed to return that 57
, but it gives a 00
instead. In the real LSL3, I get 57
from this matching code:
39 57 pushi 57 // init
76 push0
57 36 04 super Rm 4
Notice how Companion's disassembler put a comment on pushi 0
in the demo, but on pushi 57
in the real game and not push0
?
Clearly, the decompiler seems to prefer pushi
for sends, but that's as far as I could get.
from scicompanion.
If I was bored enough, I'd go through what few non-system scripts there are and manually fix up the selectors myself.
from scicompanion.
As it turns out, the fix wasn't perfect. While many selectors are now correctly identified, there are still many more identified as species.
from scicompanion.
Well shit. Gonna look for "species" then, see what else is up.
from scicompanion.
Found it! pNodePrevious
was set, but did not point to the LDI
opcode I expected. So I changed the logic around a bit and now the only instances of species
in my decompilation are in Obj::isKindOf
and isMemberOf
. As it should be.
Direct download in the same place as before.
from scicompanion.
@EricOakford, does it work?
from scicompanion.
I'm just going to assume it works then.
from scicompanion.
Related Issues (17)
- Feature Request: Support SCI2.1 Resource Naming Scheme HOT 4
- Crash when decompiling Torin HOT 3
- SQ3 decompilation crashed HOT 2
- Feature Request: Allow non English text in Vocabulary HOT 3
- Companion does not display properly in high resolutions HOT 4
- GK1 decompilation crashes HOT 3
- QFG1VGA: 203 - recompile after decompile fails HOT 10
- Avoid saving unsupported message format HOT 6
- QFG1VGA: 32- recompile after decompile fails HOT 2
- QFG1VGA: recompile all fails on few scripts HOT 2
- PC Speaker driver does not work with imported MIDI files HOT 2
- Support for code page 437 HOT 10
- Crash on Version Detection HOT 2
- Keep filename-casing on save HOT 6
- Kings Quest 5 - Strange File Layout HOT 1
- Default room script crashes HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scicompanion.