Giter Site home page Giter Site logo

nadavshemesh / silver-reversing-sct Goto Github PK

View Code? Open in Web Editor NEW
23.0 4.0 3.0 16.63 MB

A tool created to read, write and modify scripts of the 1999 rpg game 'Silver'.

License: GNU General Public License v3.0

C 100.00%
modding modding-tools reverse-engineering sct silver steam-games mod format gog-games infogrames

silver-reversing-sct's People

Stargazers

 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

silver-reversing-sct's Issues

regex.h Dependency?

Hi @nadavshemesh! I love this project very much, it's quite impressive - I've enjoyed poking around the decompiled scripts for all the areas and starting to figure out what sort of modding Silver might support.

I thought as a first step I'd give the repo a clone and see if I can compile it, though I'm not at all a C programmer!

I downloaded MinGW 6.3.0-1, and ran the compilation command from the readme:

gcc -I .\ .\utils.c .\sct\sct.c .\sct\structure\object.c .\sct\structure\pattern.c .\sct\print\asm\console.c .\sct\game\gamefunc.c .\sct\convert\convert.c .\sct\convert\asm\sctasm.c .\sct\convert\bin\sctbin.c .\file\fileutils.c .\sct\print\bin\console.c .\sct\game\gamevar.c .\sct\print\bin\file.c .\sct\print\asm\file.c .\eng\eng.c -o .\sct.exe

... but got a list of errors like .\sct\sct.c:1:21: fatal error: sct\sct.h: No such file or directory, one for every header file.

Editing the compilation command very slightly to:

gcc -I . .\utils.c .\sct\sct.c .\sct\structure\object.c .\sct\structure\pattern.c .\sct\print\asm\console.c .\sct\game\gamefunc.c .\sct\convert\convert.c .\sct\convert\asm\sctasm.c .\sct\convert\bin\sctbin.c .\file\fileutils.c .\sct\print\bin\console.c .\sct\game\gamevar.c .\sct\print\bin\file.c .\sct\print\asm\file.c .\eng\eng.c -o .\sct.exe

Got me a bit further. The only difference in the two commands is that it begins gcc -I ., rather than gcc -I .\. (No slash.) Windows path stuff?

Now I get a bunch more errors, here's the full output:

ฮป gcc -I . .\utils.c .\sct\sct.c .\sct\structure\object.c .\sct\structure\pattern.c .\sct\print\asm\console.c .\sct\game\gamefunc.c .\sct\convert\convert.c .\sct\convert\asm\sctasm.c .\sct\convert\bin\sctbin.c .\file\fileutils.c .\sct\print\bin\console.c .\sct\game\gamevar.c .\sct\print\bin\file.c .\sct\print\asm\file.c .\eng\eng.c -o .\sct.exe -lregex
In file included from .\sct\sct.c:1:0:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
In file included from ./sct\print\asm\console.h:7:0,
                 from .\sct\print\asm\console.c:1:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
In file included from ./sct\convert\bin\sctbin.h:4:0,
                 from ./sct\convert\convert.h:6,
                 from .\sct\convert\convert.c:1:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
In file included from ./sct\convert\asm\sctasm.h:4:0,
                 from .\sct\convert\asm\sctasm.c:1:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
In file included from ./sct\convert\bin\sctbin.h:4:0,
                 from .\sct\convert\bin\sctbin.c:1:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
.\file\fileutils.c:1:29: fatal error: \file\fileutils.h: No such file or directory
 #include "\file\fileutils.h"
                             ^
compilation terminated.
In file included from ./sct\print\bin\console.h:7:0,
                 from .\sct\print\bin\console.c:1:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
.\sct\game\gamevar.c: In function 'get_game_var_by_name':
.\sct\game\gamevar.c:236:22: warning: unknown escape sequence: '\_'
         sscanf(name, "*%[a-zA-Z\_]\+%d", gvname, &to);
                      ^~~~~~~~~~~~~~~~~~
.\sct\game\gamevar.c:236:22: warning: unknown escape sequence: '\+'
In file included from ./sct\print\bin\file.h:8:0,
                 from .\sct\print\bin\file.c:1:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
In file included from ./sct\print\asm\file.h:7:0,
                 from .\sct\print\asm\file.c:1:
./sct\sct.h:6:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.
In file included from .\eng\eng.c:7:0:
./file\fileutils.h:2:18: fatal error: regex.h: No such file or directory
 #include<regex.h>
                  ^
compilation terminated.

Mostly, I'm missing a regex.h dependency. Where does that come from? I've really only got the base MinGW gcc and g++ compilers installed, so let me know if there's another library I need to link.

(Also, it's easy to miss, but hidden in amongst all the regex errors is a \file\fileutils.h error, another header file not located.)

I'm just getting going with exploring this project, and clearly I'm new to working with C, but would appreciate any help! ๐Ÿ˜„

No memory slot

Hi BRO
Following your guide I created and played with GRANPA without any problem as a condition of removing it (var old_grandad = call get_char_handle(int 393216) call remove_char(var old_grandad)) from exbarrac.
If it is not removed we have this error ((I have not added any other characters (David and Grandpa only):
2022-09-27
I then tried changing various characters: Frink, oldwoman, buzuki, Nemesis, Viviene and many others but always the same error. Es: call create_char(var &init_position, "hnemesis", int 35, int 13) or call create_char(var &init_position, "hbuzuki", int 35, int 13) under ._onload .

what do I do then?
I try to remove Granda. And what happens? I enter the level but then (rightly) the enemies not finding our beloved Granda as a target, crash the game.
So is the problem that level that doesn't accept more than 2 characters or am I doing something wrong? (much more probable)
Help me
Ps: Are you going to make a scrip for Cheat engine that creates characters? ha ha for people who are impeded like me.
Keep going with this project that is great

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.