Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Gez

Shadowcaster modding 2: the remoddening

Recommended Posts

printz said:

They have the ability to morph the player into other classes, giving them other statistics and other "weapons" (weak as they are). Is the voluntary player-morphing in Shadowcaster more advanced in what it affects?

Each shape has its own capacities (two can fly, two can jump, one can breathe underwater, one can walk over lava taking only minimal damage), its own inventory, its own array of special powers and attacks, its own experience point counter, its own hit points total (increased at varying rates by earning experience), and its own cost to maintain.

And of course, they are deliberate powers from the player. Rather than a curse attack. The ovinomancer and such have much more in common with Duke's shrink ray than with shapeshifting.

You'll notice the "shadowcaster" cheat in Hexen lets you change your class, and does not turn you into a pig. That should tell a lot.

Share this post


Link to post
Gez said:

Each shape has its own capacities (two can fly, two can jump, one can breathe underwater, one can walk over lava taking only minimal damage), its own inventory, its own array of special powers and attacks, its own experience point counter, its own hit points total (increased at varying rates by earning experience), and its own cost to maintain.

And of course, they are deliberate powers from the player. Rather than a curse attack. The ovinomancer and such have much more in common with Duke's shrink ray than with shapeshifting.

You'll notice the "shadowcaster" cheat in Hexen lets you change your class, and does not turn you into a pig. That should tell a lot.

I was really talking from a technical point of view: the possibility to change the player avatar, stats and abilities at gametime. Not the purposes of such changes. I was criticizing Heretic and Hexen for keeping some very similar class-morphers in their codes, but not using them for gameplay as innovative and original as SC.

But since you said that the inventory gets changed as well, then I deduce that SC's morphing is indeed more advanced than Hexen's (technically).

Share this post


Link to post

Hello, first of all i am sorry for bumping that.

I still have some questions left:

The CD-ROM Version have lumps that RLE0 Compressed, any one managed to uncompress?

Does parts of source code helped that mentioned here?
http://doomwiki.org/wiki/Doom_source_code_files
http://doomwiki.org/wiki/Rise_of_the_Triad

The Wolf3D source code has RLE mentioned in file ID_CA.C
And ROTT source has RLE to on RT_TED.C and HACKER.TXT

Anyone has a ShadowCaster PC-98 CD-ROM version?
I Have PC-98 floppy, the music is different there.

I am have these resources at http://raven-05.narod.ru/
But i am still very interested what lies beyond RLE0

P.S. About another Raven Games.
Black Crypt, ripped images trough UAE Save states, any one know how to rip them directly from bcdf? files.

Edit:
Searched in game files, found:

Spoiler

CA_CacheLump: %d > LumpCount.
CA_CacheLump: malloc failed, lump %d, size %d.
CA_CacheLump: lump %d is missing RLE0 tag.
CA_CacheLump: RLE malloc failed, lump %d, size %d.
CA_CacheLump: unknown compression %d.
CA_FreeLump: %d > LumpCount.
CA_ReadLump: %i > LumpCount.
CA_WriteLump: %i > LumpCount.
CA_WriteLump: %i not cached in.
w DEBUG.TXT r+b Could not read file %s.
Error allocating memory for library entries. Could not find index to %s in library. Error indexing to %s in library. Lump stream to Large man! Size = %d
Out of Memory: ReadStream.
This lump is RLE'ed lump = %d.

Spoiler

CA_CacheLump: %d > LumpCount.
CA_CacheLump: malloc failed, lump %d, size %d.
CA_CacheLump: lump %d is missing RLE0 tag.
CA_CacheLump: RLE malloc failed, lump %d, size %d.
CA_CacheLump: unknown compression %d.
CA_FreeLump: %d > LumpCount.
CA_ReadLump: %i > LumpCount.
CA_WriteLump: %i > LumpCount.
CA_WriteLump: %i not cached in.
w DEBUG.TXT r+b Could not read file %s.
Error allocating memory for library entries. Could not find index to %s in library. Error indexing to %s in library. Lump stream to Large man! Size = %d
Out of Memory: ReadStream.
This lump is RLE'ed lump = %d.

Googled RLE0 found many things:
Some of them
Spoiler

RLE-0 - Zero Run Length Encoding.


If we precisely know the most frequent symbol, we can improve RLE coding to encode only this symbol and leave all others uncoded. There are endless variants to implement such basic idea, however RLE-0 is used in popular [1] implementation of BWT.
Add two new symbols to to the output alphabet - 0a and 0b.

Start the loop here.
Check next symbol s from the input stream.
If symbol is 0, count how many consequent zeros are in this place in the input stream. Sign this count with m.
If s is not 0, output s.
Find binary representation of number m+1 - 2↓[log2(m+1)].
Output binary sequence, coded with ↓[log2(m+1)] bits. Each bit 0 replace with symbol 0a and each bit 1 replace with symbol 0b.
Continue the encoding loop.
y = ↓[x] here is a sign of round-down - find the maximal integer y, y ≤ x and x is real.
Decoding RLE-0 is symmetric to encoding, however, if we determined sequence of x symbols from the group {0a, 0b}, we must count what number m was encoded by this sequence.
If decoded binary number can be signed N and m = 2x + N - 1, then
x = ↓[log(m+1)]
N = (m+1) - 2↓[log(m+1)]
m+1 - N = 2↓[log(m+1)]
log(m+1 - N) = ↓[log(m+1)]
x = log(m+1 - N)
2x = m+1 - N
m = 2x + N - 1
Here we found that source was containing m sequential 0`s that can be putted out in the decoding process.


http://compressions.sourceforge.net/Auxilary.html

Share this post


Link to post

I knew about that as well! But it's kind of like getting the source code for Jaguar Doom and saying you've got the source code for Hexen.

You won't find all the most interesting parts of Shadowcaster, like its level scripting system or the state tables and actor logic for the monsters.

Share this post


Link to post

There is just Empty game engine? ShadowCaster Engine (Engine For ShadowCaster) but not ShadowCaster Source Code Itself. But this is helpful? Did you used it somehow? Usable?

Share this post


Link to post
WhiteMagicRaven said:

There is just Empty game engine? ShadowCaster Engine (Engine For ShadowCaster) but not ShadowCaster Source Code Itself. But this is helpful? Did you used it somehow? Usable?


It's the engine that Raven Software would modify a lot in order to create Shadowcaster, but it's not the Shadowcaster engine. That's why I likened it to the difference between Jaguar Doom and Hexen.

The parts that would really interest me aren't here.

Share this post


Link to post

Okay. Having Raven Engine that used in ShadowCaster, does it posible to find how resolution 320x200 coded and hack/patch shadowcaster to make this game use 640x400 resolution?

Share this post


Link to post

Having Zerker (or invite him) scripts (sorry i don't know either python & doom map format)
can we convert ShadowCaster maps to lets say HeXen maps (because hubs, and polyobjects doors).
Lets start from maps, and there is already many attempts to create, re-create shadowcaster monsters.
We can't build it already as identetical, look at zblood (its poor Blood TC, but now its getting much more close to original Blood), lets start from something just.

ruinsa.map-map(simple32x32 map fmt wolf3d)
ruinsa.arc-(monster defenitions) - i think there is stored all infos about monsters
ruinsa.crt-creatures(monsters) - monster placements on map
ruinsa.dor-doors(teleports)
ruinsa.itm-items(pickups)
ruinsa.ojt-objects(obelisk)
ruinsa.scr-script(music-actions on obelisk)

i am trying to backport shadowcaster demo maps into shadowcaster cd, so with that i am understand some part of *.map files, if i discover more will post, also actors of monsters can be taken from manual, it has some numbers on how it speed, damage... etc

the demo maps incompatible with cd version, does floopy and cd compatible to each other?

There is demo from 11 October 1993 and from 15 October 1993, i have floppy and CD and PC-98 floppy, but not PC-98 CD, if something can be helpful i can post. PC-98 is not so far from DOS.

Also you can edit RAVEN.EXE find ruinsa.map and ruinsa.MAP and replace it to any other map lets say temple.map and temple.MAP if map name is shorter than ruinsa.map dont forget to write 0x00 to terminate string with \0
so you can start game from other map.

I have found cheat codes by using CheatEngine, i can upload *.CT files CheatTables, one cheat of them is GOD.

I am still believe its possible because we have:

RLE0 - Run Length Encoding Zero Based its described on internet in many places

Great Progress at ShadowCaster

Many peoples that is very talanted, i re-readed entire topic including previous too, that closed now.

Doom source code, Rise of the triad (ROTT) source, Wolf3d source, In-Purist of Greed source code, there is many peoples who re-created doom:test,pre-alpha,alpha,beta versions for zdoom, so they know binary in details, some of doom old versions released just recently.

Also there is russians\ukrainians who interested in this game at hexen-game.ru and here vk.com/shadowcaster

If i discover something new\interesting will post...

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×