OpenBOR [Bugs & Suggestions] (tested version 4381)

[Suggestion]

some kind of grabwalk animation to be used with objects in game like boxes and barrels, all dynamic
without the need to create thousand of weapons  for throwable objects
 
thats good idea but you currently only have to walk close to grab someone, so that would require you to get close to barrel or box and then press attack to get it into grabbedwalk animation, i dont know maybe just walking close to box would work ok but i think it would be a bit irritating, did you tried to change obstacle type to enemy with nomove and all so it would have grabbedwalk animation working?
 
i actually tried this and its problems fixed then 2 more appear... first is you have to make enemy nomove1 which prevents him from turning around, if he cant turn around then he falls from your attacks in bad directions, so how to solve this ? I tried to check facing of the target but target can change very quickly with 4 players close to each other and lots of enemies
 
White Dragon said:
[BUGS]
1) stopchannel/querychannel doesn't work properly.
2) if you setidle (performattack too) and nograb == 1 then nograb will be = 0 (reset nograb on setidle/performattack)
3) wall bug: if you perform an attack with performattack (in the air or on base) near a wall and this attack move the character forward,
    he'll cross the wall.
4) strange speedy effect when engine changes continuously lasthitc variant
5) cansave 2 bug
6) IMPORTANT: Random Crashes (no logs) (on character attack collision)!!
7) IMPORTANT: when engine use performattack(), if a player press a button (ex attack/move) instantly before performattack()
    the character does an action (ex attack/move).
8 ) NOSAME bug

[BUGS (Wii)]
1) new wiimotes don't work (to be used libogc 1.8.9 or higher).
2) with a big number of player/weapons the game crashes (caching/RAM problem) (same problem on psp too)
3) Alpha transparency doesn't work properly!

[SUGGESTIONS]
1) Introduce readInt() func to read properly the bor.hi file (hiscore).
2) stop any last sound played. not only sounds played by playsample (hitfx, pause snd, etc...)
3) add offscreenkill in script
4) Change wall height by script
5) Add diagonal movement to bglayer/fglayer
6) Add a way to change only the spawn anim for certain enemies (simulated now with spawnscript/weapon)
7) Retrieve frame numbers of an animation by script!!
8 ) Add diagonal platforms
9) Improve Exception Handling (anti no-log crashes)

[SUGGESTIONS (Android)]
1) add Bluetooth joystick detect to enable multiplayer mode (or/and add wifi gaming).
 
White Dragon said:

Let me see if I can answer some of these.

[BUGS]
For all bugs I need the exact engine version where bug started. This is the only way I can trace the problematic code, and I just don't have time to do this and coding. If you don't know how to compile engines by version, let me know and I'll post instructions.

1) stopchannel/querychannel doesn't work properly.
Need specifics.

2) if you setidle (performattack too) and nograb == 1 then nograb will be = 0 (reset nograb on setidle/performattack)

Shouldn't be a problem once I know the version.

3) wall bug: if you perform an attack with performattack (in the air or on base) near a wall and this attack move the character forward,
    he'll cross the wall.

Are you using the "move" command or setting velocity? If it's "move" this isn't a bug; it's just the way the engine works to save processing power. You can make the walls "thicker", but the best method is not to use "move" at all; it is an outdated method. We can discuss this further in its own topic.

4) strange speedy effect when engine changes continuously lasthitc variant

Specifics please.

5) cansave 2 bug

See my answer to Bloodbane. Short version is this is probably beyond my skill, but once I have a version I'll see what I can do.

6) IMPORTANT: Random Crashes (no logs) (on character attack collision)!!

? I have never heard of anything like this and have tested a lot of modules with no such bug. Do you have scripted effects going on? This probably also needs a spefic discussion.

7) IMPORTANT: when engine use performattack(), if a player press a button (ex attack/move) instantly before performattack()
    the character does an action (ex attack/move).

The engine update system probably won't let me do much about this. I'd suggest canceling playerkey events until your desired action takes place.

8 ) NOSAME bug

? I haven't seen this one.

[BUGS (Wii)]
1) new wiimotes don't work (to be used libogc 1.8.9 or higher).
2) with a big number of player/weapons the game crashes (caching/RAM problem) (same problem on psp too)
3) Alpha transparency doesn't work properly!

Sorry, but ports are the responsibility of the person who worked ont he port (in this case Plombo). I know almost nothing of the Wii port and there isn't a thing I can do about it. :(

[SUGGESTIONS]
1) Introduce readInt() func to read properly the bor.hi file (hiscore).

Nice idea. No promises, but I'll see what I can do.

2) stop any last sound played. not only sounds played by playsample (hitfx, pause snd, etc...)

Will need to look at the sound code, but I'd say this can be done.

3) add offscreenkill in script

I think it may already be available as an openborvariant. If it isn't, shouldn't be any problem at all to add.

4) Change wall height by script

All walls and hole parameters are already open as level properties, but are not documented at all. When I get a chance I'll post some instructions.

5) Add diagonal movement to bglayer/fglayer

This is either super easy or utterly impossible - I'll certainly try.

6) Add a way to change only the spawn anim for certain enemies (simulated now with spawnscript/weapon)

This one would be simple, but also possibly memory consuming. If it can be done in such a way it won't eat memory when not in use I'll add it. Otherwise I'll have to say no because the functionality is already there through script.

7) Retrieve frame numbers of an animation by script!!

I'm going to do you one better - I'm currently working on opening every single animation and frame property in one fell swoop.

8 ) Add diagonal platforms

Good idea, but this would probably require a fundamental change in the way all floors/platforms/and movements are handled. It's not just a plug in. I wouldn't count on it coming soon. Sorry. :(

9) Improve Exception Handling (anti no-log crashes)

Working on this already. Each shutdown event is its own animal and I'm taking them down one by one.

[SUGGESTIONS (Android)]
1) add Bluetooth joystick detect to enable multiplayer mode (or/and add wifi gaming).

Great, GREAT idea, but once again ports are in the hands of the person who created them. This is one of the reasons I'm not a fan of console ports in general. Coders tend to jump in all gung ho, create a port for their platform of choice and then vanish.

I am working on my Android coding skills, but at the moment I couldn't even think about touching the port.

---------------------------------

There you are. Sorry many of these are not what you want to hear, but I prefer to be honest rather than saying "Sure no problem!" and then never delivering. Hope it helps a little.

DC
 
6) IMPORTANT: Random Crashes (no logs) (on character attack collision)!!

I can only guess for this, it's either:
1. Setting lifescore 0, player only obviously
2. Something wrong in didhitscript. When this happened to me, didhitscript 'attacked' enemy which caused this script to be reran over n over and thus crashed
 
Suggestion:

make the last parameter of the icon setting to be independent. For example, if you do this:

icon      data/chars/owlbear/icon.gif 1

it will force ALL off its icons to share palette, not only his normal icon. Example:

dieicon      data/chars/owlbear/icondie.gif

The engine will ignore the lack of the last parameter and will force the dieicon to have the same palette of the player.
 
In primis, thanks for your answers DC!!

Damon Caskey said:
1) stopchannel/querychannel doesn't work properly.
Need specifics.

If I use these methods the engine crashes.
Ex.:
Code:
int stop_last_sound() {
    int playid = openborvariant("sample_play_id");
    int channel;

    //if(playsample(yousampleid)) setentityvar(self, "lastchannel", openborvariant("sample_play_id"));

    if ( playid ) {
        channel = querychannel(playid);
        if ( channel >= 0 ) stopchannel(channel);
    }

    return playid;
}

the engine crashes

Damon Caskey said:
2) if you setidle (performattack too) and nograb == 1 then nograb will be = 0 (reset nograb on setidle/performattack)
Shouldn't be a problem once I know the version.

I found this bug in all versions that I can try

Damon Caskey said:
3) wall bug: if you perform an attack with performattack (in the air or on base) near a wall and this attack move the character forward,
    he'll cross the wall.
Are you using the "move" command or setting velocity? If it's "move" this isn't a bug; it's just the way the engine works to save processing power. You can make the walls "thicker", but the best method is not to use "move" at all; it is an outdated method. We can discuss this further in its own topic.

Naturally I use "velocity" prop to move my chara against wall, but if I stay infront a wall during a performattack moving the chara (with velocity) the chara will be over the wall O_o

Damon Caskey said:
4) strange speedy effect when engine changes continuously lasthitc variant
Specifics please.

If an obstacle for example attacks with fastattack 1 and it cancels all his atks with lasthitc to 0, If I move my chara over this obstacle (or enemy)
my chara accelerate his walking velocity o_0

Damon Caskey said:
8 ) NOSAME bug
? I haven't seen this one.

NOSAME NOW WORKS THANKS!!

Damon Caskey said:
1) Introduce readInt() func to read properly the bor.hi file (hiscore).
Nice idea. No promises, but I'll see what I can do.

Yeah, nice for custom title screen!!

Damon Caskey said:
add offscreenkill in script
I think it may already be available as an openborvariant. If it isn't, shouldn't be any problem at all to add.

It's missing!

THANKS FOR ALL YOUR WORK DC!! GREAT!!

Ps. Can u explain me how can I compile Windows/android/wii version to test it?
Ps2. Can I disable "drawing water ..." logging?
 
White Dragon said:
[SUGGESTIONS (Android)]
1) add Bluetooth joystick detect to enable multiplayer mode (or/and add wifi gaming).
I can answer this, i think :-[ :
  • Bluetooth joysticks - Support for that was added on SDL 2.0.2. Again, our code is still landing on 2.0.0. Updating the SDL lib is still necessary along with the various things uTunnels also tinkered.
  • Wi-Fi gaming -  What do you mean by this? If you mean network gaming, you would need to make a netcode, a bigger change to the source is also needed to make sure everything is streamlined for network play.
 
CRxTRDude said:
  • Wi-Fi gaming -  What do you mean by this? If you mean network gaming, you would need to make a netcode, a bigger change to the source is also needed to make sure everything is streamlined for network play.

Ideas for the future =)

BTW I updated this thread! I think this topic it's very important to make the engine perfect and without bugs...
I'd like to keep this topic clean and up to date. When a bug is fixed, it will be removed from the list.
The priority is on bugs and not on suggestions obviously.
There are some very serious bugs as aliflag walking bug that must be fixed!
 
Here's some little suggestions (actually it is something I already did a while back but was never commited  :( ). If someone has time before I do  :)

1 / Third parameter for landframe command : start frame.

In some scenarios it is annoying that landframe triggers. For example if a character have a dash that makes him slightly jump forward and from that animation he can start an attack which has a delayed jump (and a landframe set), then landframe code will be triggered too early (when the dash momentum will end instead of when the new animation momentum will end).

Here's parts of what should be changed in openbor.c :

Code:
 case CMD_MODEL_LANDFRAME:
                newanim->landframe.frame = GET_FRAME_ARG(1);
                value = GET_ARG(2);
                if(value[0])
                {
                    newanim->landframe.ent = get_cached_model_index(value);
                }
                else
                {
                    newanim->landframe.ent = -1;
                }

                value = GET_ARG(3);
	           if(value[0])
                {
                    newanim->landframe.start = GET_FRAME_ARG(3);
                }
                else
                {
                    newanim->landframe.start = 0;
                }
                break;

And then...

Code:
 if(self->animation->landframe.frame >= 0                               //Has landframe?
                        && self->animation->landframe.frame <= self->animation->numframes  //Not over animation frame count?
                        && self->animpos >= self->animation->landframe.start
                        && self->animpos < self->animation->landframe.frame)               //Not already past landframe?
                {
                     ...


2 / New animation command to keep x an z velocity on landing. Don't know how to call it (keepspeedland ?). When an entity lands, engine sets x, y and z velocity to 0. It's not something you always want. I don't remember where it is in the code.
By default this "keepspeedland" should be set to "0" so that it doesn't change previous behavior.


3 / Volume distance adaptation. Something more personal, as in my mod the action spans not only on the current screen by on the whole level. The player should not hear the sound fx associated to action that is far from the screen current scene.

I wrote this little function so that sound fx volume is adapted with distance from the current screen position :
Code:
int volume_at(int x){
	int distFromScreen = x - advancex;
	if(distFromScreen < 0) distFromScreen *= -1;

	float factor = 1 - (distFromScreen * 0.0007);
	if(factor < 0.2) factor = 0;
	
	int vol = savedata.effectvol * factor;
	return vol;
}

Then in openbor.c :

Code:
 if(anim->soundtoplay && anim->soundtoplay[f] >= 0)
    {

	    int vol = volume_at(self->position.x);
	    
        if(vol > 0) sound_play_sample(anim->soundtoplay[f], 0, vol, vol, 100);
	// advancex.
	// self->position->x
    }

and

Code:
else if(attack->hitsound >= 0)
        {
            t = 100 - (noslowfx ? 0 : (force - 5));
            if(t > 100)
            {
                t = 100;
            }
            else if(t < 60)
            {
                t = 60;
            }
            int vol = volume_at(self->position.x);
            if(vol > 0) sound_play_sample(attack->hitsound, 0, vol, vol, t);
        }
 
Let me finish the current animation changes I'm making before we add more, and I'll look into these.

I'll have to so a flat no for now on the auto volume (WD, this goes for you too, leave the sound code alone), because I already have specific  plans for that. You'll like it, I promise. :)

DC
 
Damon Caskey said:
Let me finish the current animation changes I'm making before we add more, and I'll look into these.

I'll have to so a flat no for now on the auto volume (WD, this goes for you too, leave the sound code alone), because I already have specific  plans for that. You'll like it, I promise. :)

DC

Ok DC, I leave to you these updates!

just... we need to fix wii sound!!
 
my game http://www.4shared.com/rar/UUK-Wc5Yce/Rescue_Command-ep1-v4-jan2017.html  run perfectly on my Win Xp, but a lot of people runing Win 7 and 8 tell me about "crashes" (The openbor close, and dont show any error on log).

So If there is not a error log, Its impossibe to me fix, since my Xp windows run perfectly, no crashs. What can I do?
 
I just encountered a problem with xsize of basemap. When I set it, it's okay. But when I set it with negative value, it crashes due to "out of memory!". I set basemap with this xsize:

basemap 3486 580 -89 4 0 50

Log:

Code:
Total Ram: 4168376320 Bytes
 Free Ram: 1122594816 Bytes
 Used Ram: 3649536 Bytes

debug:nativeWidth, nativeHeight, bpp, Hz  1366, 768, 24, 60
OpenBoR v3.0 Build , Compile Date: Dec 12 2016

Game Selected: ./Paks/bor.pak

FileCaching System Init......	Disabled
Initializing video............
Reading video settings from 'data/video.txt'.
Initialized video.............	320x240 (Mode: 0, Depth: 16 Bit)

Loading menu.txt.............	Done!
Loading fonts................	1 2 3 4 5 6 Done!
Timer init...................	Done!
Initialize Sound..............	
Loading sprites..............	Done!
Loading level order..........	Command 'p{' not understood in level order!Done!
Loading model constants......	Done!
Loading script settings......	Done!
Loading scripts..............	Done!
Loading models...............

Cacheing 'Flash' from data/chars/misc/flash/flash.txt
Cacheing 'dust' from data/chars/misc/dust/dust.txt
Cacheing 'dustb' from data/chars/misc/dust/dustb.txt
Cacheing 'Leon' from data/chars/leon/leon.txt
Cacheing 'Sonia' from data/chars/sonia/sonia.txt
Cacheing 'Trevor' from data/chars/trevor/trevor.txt
Cacheing 'Simon' from data/chars/simon/simon.txt
Cacheing 'Richter' from data/chars/richter/richter.txt
Cacheing 'Kreiger' from data/chars/kreiger/kreiger.txt
Cacheing 'Julius' from data/chars/julius/julius.txt
Cacheing 'Eric' from data/chars/eric/eric.txt
Cacheing 'Jonathan' from data/chars/jon/jon.txt
Cacheing 'Charlotte' from data/chars/char/char.txt
Cacheing 'Maria' from data/chars/maria/maria.txt
Cacheing 'Blitz' from data/chars/blitz/blitz.txt
Cacheing 'NOwl' from data/chars/owl/NOwl.txt
Cacheing 'Fb01' from data/chars/misc/spells/Fb01.txt
Cacheing 'Fb02' from data/chars/misc/spells/Fb02.txt
Cacheing 'FireBlast' from data/chars/misc/spells/FireBlas.txt
Cacheing 'Ice' from data/chars/misc/spells/Ice.txt
Cacheing 'MagicSeal' from data/chars/misc/spells/MagiSeal.txt
Cacheing 'PAxe' from data/chars/misc/subweap/PAxe.txt
Cacheing 'PCross' from data/chars/misc/subweap/PCross.txt
Cacheing 'knife1' from data/chars/misc/weap/knife1.txt
Cacheing 'axe1' from data/chars/misc/weap/axe1.txt
Cacheing 'cross1' from data/chars/misc/weap/cross1.txt
Cacheing 'holy1' from data/chars/misc/weap/holy1.txt
Cacheing 'PStBall' from data/chars/misc/subweap/PStBall.txt
Cacheing 'PKuni' from data/chars/misc/subweap/PKuni.txt
Cacheing 'PSpear' from data/chars/misc/subweap/PSpear.txt
Cacheing 'PBomrade' from data/chars/misc/subweap/PBomrade.txt
Cacheing 'rain' from data/chars/misc/rain.txt
Cacheing 'Leosp' from data/chars/leon/leosp.txt
Cacheing 'BPetir' from data/chars/blitz/bpetir.txt
Cacheing 'Dirk' from data/chars/kreiger/dirk.txt
Cacheing 'm1' from data/chars/maria/m1.txt
Cacheing 'm2' from data/chars/maria/m2.txt
Cacheing 'm3' from data/chars/maria/m3.txt
Cacheing 'BloodSkel' from data/chars/blodskel/blodskel.txt
Cacheing 'Specter' from data/chars/specter/specter.txt
Cacheing 'Hantu' from data/chars/specter/hantu.txt
Cacheing 'FlyZombie' from data/chars/zombie/flyzomb.txt
Cacheing 'FloatZombie' from data/chars/zombie/flozomb.txt
Cacheing 'ZombieLegs' from data/chars/zombie/zombleg.txt
Cacheing 'Zombie' from data/chars/zombie/zombie.txt
Cacheing 'ZombieKeeper' from data/chars/zombkeep/zombkeep.txt
Cacheing 'Bat' from data/chars/bat/bat.txt
Cacheing 'FishHead' from data/chars/merman/fishhead.txt
Cacheing 'Merman' from data/chars/merman/merman.txt
Cacheing 'Mhead' from data/chars/mhead/mhead.txt
Cacheing 'bonep' from data/chars/bonep/bonep.txt
Cacheing 'Bonehead' from data/chars/bonep/boneh.txt
Cacheing 'MinionBat' from data/chars/gbat/mbat.txt
Cacheing 'Partisan' from data/chars/ghost/partisan.txt
Cacheing 'PhSkull' from data/chars/phskull/phskull.txt
Cacheing 'PhSkullR' from data/chars/phskull/phskullR.txt
Cacheing 'HeatShade' from data/chars/shade/heatshad.txt
Cacheing 'Simon_Wraith' from data/chars/skeleton/simonwr.txt
Cacheing 'Skeleton' from data/chars/skeleton/skelet.txt
Cacheing 'Skeleton_Knight' from data/chars/skelknit/skelknit.txt
Cacheing 'WereSkeleton' from data/chars/wereskel/wereskel.txt
Cacheing 'Grakul' from data/chars/armor/grakul.txt
Cacheing 'Cerebus' from data/chars/cerebus/cerebus.txt
Cacheing 'DarkMage' from data/chars/necrom/darkmage.txt
Cacheing 'GiantBat' from data/chars/gbat/gbat.txt
Cacheing 'Graham' from data/chars/graham/graham.txt
Cacheing 'GrAxe' from data/chars/armor/graxe.txt
Cacheing 'bpfb' from data/chars/bonep/bpfb.txt
Cacheing 'bpflame' from data/chars/bonep/bpflame.txt
Cacheing 'BFBall' from data/chars/gbat/bfball.txt
Cacheing 'Fire' from data/chars/misc/espells/fire.txt
Cacheing 'Bone' from data/chars/skeleton/bone.txt
Cacheing 'CFBall' from data/chars/misc/espells/cfball.txt
Cacheing 'GrBlast' from data/chars/misc/espells/grblast.txt
Cacheing 'Meteo' from data/chars/misc/espells/meteo.txt
Cacheing 'ShadeFire' from data/chars/misc/espells/shadfire.txt
Cacheing 'ShFireS' from data/chars/misc/espells/shfireS.txt
Cacheing 'WSpit' from data/chars/misc/espells/wspit.txt
Cacheing 'GPillar' from data/chars/graham/gpillar.txt
Cacheing 'DemonBall' from data/chars/graham/demonbal.txt
Cacheing 'DemonHole' from data/chars/graham/demhole.txt
Cacheing 'WDragon' from data/chars/wdragon/wdragon.txt
Cacheing 'Rib' from data/chars/wdragon/rib.txt
Cacheing 'Rib2' from data/chars/wdragon/rib2.txt
Cacheing 'RBase' from data/chars/wdragon/rbase.txt
Cacheing 'Time' from data/chars/misc/time.txt
Cacheing 'Meat' from data/chars/misc/meat.txt
Cacheing 'WAxe' from data/chars/misc/subweap/waxe.txt
Cacheing 'WCross' from data/chars/misc/subweap/wcross.txt
Cacheing 'WHolyW' from data/chars/misc/subweap/wholyw.txt
Cacheing 'WStBall' from data/chars/misc/subweap/wstball.txt
Cacheing 'WKuni' from data/chars/misc/subweap/wkuni.txt
Cacheing 'WSpear' from data/chars/misc/subweap/wspear.txt
Cacheing 'WBomrade' from data/chars/misc/subweap/wbomrade.txt
Cacheing 'ZombSpawner' from data/chars/misc/spawners/zombspwn.txt
Cacheing 'FlyZombSpawner' from data/chars/misc/spawners/fzomspwn.txt
Cacheing 'MedHeadSpawner' from data/chars/misc/spawners/medhspwn.txt
Cacheing 'BatSpawner' from data/chars/misc/spawners/batspwn.txt
Cacheing 'PhSkullSpawner' from data/chars/misc/spawners/phskspwn.txt
Cacheing 'MermanSpawner' from data/chars/misc/spawners/mermspwn.txt
Cacheing 'Sdie' from data/chars/misc/die/sdie.txt
Cacheing 'Bdie' from data/chars/misc/die/bdie.txt
Cacheing 'Gdie' from data/chars/misc/die/gdie.txt
Cacheing 'Pdie' from data/chars/misc/die/pdie.txt
Cacheing 'Edie' from data/chars/misc/die/edie.txt
Cacheing 'BR' from data/chars/skeleton/BR.txt
Cacheing 'BA' from data/chars/skeleton/BA.txt
Cacheing 'BS' from data/chars/skeleton/BS.txt
Cacheing 'BL' from data/chars/skeleton/BL.txt
Cacheing 'Brazier1' from data/chars/misc/candles/brazier1.txt
Cacheing 'Brazier2' from data/chars/misc/candles/brazier2.txt
Cacheing 'Candle1' from data/chars/misc/candles/candle1.txt
Cacheing 'Candle2' from data/chars/misc/candles/candle2.txt
Cacheing 'RCBPlat' from data/bgs/ruincast/rcbplat.txt
Cacheing 'RCPlat' from data/bgs/ruincast/rcplat.txt
Cacheing 'RCPlat2' from data/bgs/ruincast/rcplat2.txt
Cacheing 'RCWall' from data/bgs/ruincast/rcwall.txt
Cacheing 'Plat50' from data/chars/misc/platform/plat50.txt
Cacheing 'Plat320' from data/chars/misc/platform/plat320.txt
Cacheing '1spawn' from data/chars/misc/1spawn.txt
Cacheing '2spawn' from data/chars/misc/2spawn.txt
Cacheing 'Branch' from data/chars/misc/branch.txt
Cacheing 'Cameraoffset' from data/chars/misc/camoff.txt
Cacheing 'delay' from data/chars/misc/delay.txt
Cacheing 'Empty' from data/chars/misc/empty.txt
Cacheing 'Spotlight1' from data/chars/misc/spotlit1.txt
Cacheing 'Spotlight2' from data/chars/misc/spotlit2.txt
Cacheing 'Gelap' from data/chars/misc/gelap.txt
Cacheing 'ClimbSpot' from data/chars/misc/climbspot.txt
Cacheing 'RCLight' from data/bgs/ruincast/rclight.txt
Cacheing 'LevelEnd' from data/chars/misc/levelend.txt
Cacheing 'Chalice' from Data/chars/misc/Chalice/Chalice.txt
Cacheing 'SimonB' from Data/chars/SimonB/SimonB.txt
Cacheing 'bushes' from Data/bgs/Level1/SubLvl1-1/bushes.txt
Cacheing 'lv1-1pan' from Data/bgs/Level1/SubLvl1-1/lv1-1pan.txt
Cacheing 'Tree' from Data/bgs/Level1/SubLvl1-1/Tree/Tree.txt
Cacheing 'trees2' from Data/Chars/trees2/trees2.txt
Cacheing 'trees3' from Data/Chars/trees3/trees3.txt
Cacheing 'trees4' from Data/Chars/trees4/trees4.txt
Cacheing 'trees5' from Data/Chars/trees5/trees5.txt
Cacheing 'mech' from Data/Chars/mech/mech.txt
Cacheing 'backgr' from Data/Chars/backgr/backgr.txt
Cacheing 'Crow' from Data/chars/crow/Crow.txt
Cacheing 'Thunder' from Data/chars/misc/Thunder/Thunder.txt
Cacheing 'open-empty' from data/chars/misc/open-empty.txt
Cacheing 'Level1-2' from Data/bgs/Level1/SubLvl1-2/Level1-2/Level1-2.txt
Cacheing 'trees1' from Data/bgs/Level1/SubLvl1-2/Level1-2/trees1/trees1.txt
Cacheing 'trees2' from Data/bgs/Level1/SubLvl1-2/Level1-2/trees2/trees2.txt
Cacheing 'treesa' from Data/bgs/Level1/SubLvl1-2/Level1-2/treesa/treesa.txt
Cacheing 'treesb' from Data/bgs/Level1/SubLvl1-2/Level1-2/treesb/treesb.txt
Cacheing 'treesc' from Data/bgs/Level1/SubLvl1-2/Level1-2/treesc/treesc.txt
Cacheing 'treesd' from Data/bgs/Level1/SubLvl1-2/Level1-2/treesd/treesd.txt
Cacheing 'Basemap-height88' from data/chars/misc/platform/basemap88.txt
Cacheing 'plat64' from data/chars/misc/platform/plat64.txt
Cacheing 'window' from Data/chars/misc/WindowOpen/window.txt
Cacheing 'Heart' from Data/chars/misc/Hearts/Heart.txt
Cacheing 'smallheart' from data/chars/misc/hearts/smallheart.txt
Cacheing 'floorcrash' from Data/chars/misc/FloorCrash/floorcrash.txt
Cacheing 'floorcrashed' from data/chars/misc/floorcrash/floorcrashed.txt
Cacheing '1stroom' from data/bgs/level1/1stroom.txt
Cacheing '2ndroom' from data/bgs/level1/2ndroom.txt
Cacheing 'warg' from Data/chars/warg/warg.txt
Cacheing 'plat01long' from Data/bgs/Level1/st1plats/plat01long.txt
Cacheing 'platshort' from data/bgs/level1/st1plats/platshort.txt
Cacheing 'plat02long' from Data/bgs/Level1/st1plats/plat02long.txt
Cacheing 'block' from data/bgs/level1/st1plats/block.txt
Cacheing 'stair_l' from data/chars/misc/ladder/stair_l.txt
Cacheing 'stair_r' from data/chars/misc/ladder/stair_r.txt
Cacheing 'ladder_l' from data/chars/misc/ladder/ladder_l.txt
Cacheing 'ladder_r' from data/chars/misc/ladder/ladder_r.txt
Cacheing 'plat352' from data/bgs/level1/st1plats/plat352.txt
Cacheing '16x8' from data/chars/misc/platform/16x8.txt

Loading 'Flash' from data/chars/misc/flash/flash.txt
Loading 'dust' from data/chars/misc/dust/dust.txt
Loading 'dustb' from data/chars/misc/dust/dustb.txt
sound_load_sample can't load sample from file 'data/chars/leon/at3.wav'!
sound_load_sample can't load sample from file 'data/chars/leon/at3.wav'!
sound_load_sample can't load sample from file 'data/chars/leon/at3.wav'!
sound_load_sample can't load sample from file 'data/chars/leon/at3.wav'!
Loading 'Leon_Belmont' from data/chars/leon/leon.txt
Loading 'Sonia_Belmont' from data/chars/sonia/sonia.txt
sound_load_sample can't load sample from file 'data/chars/misc/weap/knife1.wav'!
sound_load_sample can't load sample from file 'data/chars/misc/weap/knife1.wav'!
Loading 'Simon_Belmont' from data/chars/trevor/trevor.txt
Loading 'Richter_Belmont' from data/chars/richter/richter.txt
Loading 'Kreiger_Blitz' from data/chars/kreiger/kreiger.txt
Loading 'Julius_Belmont' from data/chars/julius/julius.txt
Loading 'Eric_Lecarde' from data/chars/eric/eric.txt
Loading 'Jonathan_Morris' from data/chars/jon/jon.txt
Loading 'Charlotte_Aurin' from data/chars/char/char.txt
Loading 'Maria_Renard' from data/chars/maria/maria.txt
sound_load_sample can't load sample from file 'data/chars/richter/ric_as.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_as.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_as.wav'!
sound_load_sample can't load sample from file 'data/sounds/sword02.wav'!
sound_load_sample can't load sample from file 'data/sounds/sword02.wav'!
sound_load_sample can't load sample from file 'data/sounds/sword02.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_as.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_as.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_as.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_hit.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_hit.wav'!
sound_load_sample can't load sample from file 'data/chars/richter/ric_die.wav'!
Loading 'Blitz' from data/chars/blitz/blitz.txt
Loading 'NOwl' from data/chars/owl/NOwl.txt
Loading 'fb01' from data/chars/misc/spells/Fb01.txt
Loading 'fb02' from data/chars/misc/spells/Fb02.txt
Loading 'FireBlast' from data/chars/misc/spells/FireBlas.txt
Loading 'Ice' from data/chars/misc/spells/Ice.txt
Loading 'MagicSeal' from data/chars/misc/spells/MagiSeal.txt
Loading 'PAxe' from data/chars/misc/subweap/PAxe.txt
Loading 'PCross' from data/chars/misc/subweap/PCross.txt
Loading 'knife1' from data/chars/misc/weap/knife1.txt
Loading 'axe1' from data/chars/misc/weap/axe1.txt
Loading 'cross1' from data/chars/misc/weap/cross1.txt
Loading 'holy1' from data/chars/misc/weap/holy1.txt
Loading 'PStBall' from data/chars/misc/subweap/PStBall.txt
Loading 'PKuni' from data/chars/misc/subweap/PKuni.txt
Loading 'PSpear' from data/chars/misc/subweap/PSpear.txt
Loading 'PBomrade' from data/chars/misc/subweap/PBomrade.txt
Loading 'Rain' from data/chars/misc/rain.txt
Loading 'leosp' from data/chars/leon/leosp.txt
Loading 'BPetir' from data/chars/blitz/bpetir.txt
Loading 'dirk' from data/chars/kreiger/dirk.txt
Loading 'm1' from data/chars/maria/m1.txt
Loading 'm2' from data/chars/maria/m2.txt
Loading 'm3' from data/chars/maria/m3.txt
Loading 'bpfb' from data/chars/bonep/bpfb.txt
Loading 'WAxe' from data/chars/misc/subweap/waxe.txt
Loading 'WCross' from data/chars/misc/subweap/wcross.txt
Loading 'WHolyW' from data/chars/misc/subweap/wholyw.txt
Loading 'WStBall' from data/chars/misc/subweap/wstball.txt
Loading 'WKuni' from data/chars/misc/subweap/wkuni.txt
Loading 'WSpear' from data/chars/misc/subweap/wspear.txt
Loading 'WBomrade' from data/chars/misc/subweap/wbomrade.txt
Loading 'sdie' from data/chars/misc/die/sdie.txt
Loading 'bdie' from data/chars/misc/die/bdie.txt
Loading 'gdie' from data/chars/misc/die/gdie.txt
Loading 'pdie' from data/chars/misc/die/pdie.txt
Loading 'edie' from data/chars/misc/die/edie.txt
Loading 'BR' from data/chars/skeleton/BR.txt
Loading 'BA' from data/chars/skeleton/BA.txt
Loading 'BS' from data/chars/skeleton/BS.txt
Loading 'BL' from data/chars/skeleton/BL.txt
Loading 'SimonB' from Data/chars/SimonB/SimonB.txt

Loading models...............	Done!
Object engine init...........	Done!
Input init...................	No Joystick(s) Found!
Done!
Create blending tables.......	Done!
Save settings so far........	Done!


Level Loading:   'data/levels/level01.txt'
Total Ram: 4168376320 Bytes
 Free Ram: 1077846016 Bytes
 Used Ram: 52514816 Bytes



********** An Error Occurred **********
*            Shutting Down            *

Out of memory!
Allocation of size -1760 failed in function 'generate_basemap' at openbor.c:13833.

EDIT: Oops. I forgot to add an attachment.

[attachment deleted by admin]
 
Back
Top Bottom