Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bone files from Aslona appearing in GC #621

Open
1 task done
red-kangaroo opened this issue Jan 31, 2021 · 1 comment
Open
1 task done

Bone files from Aslona appearing in GC #621

red-kangaroo opened this issue Jan 31, 2021 · 1 comment
Labels

Comments

@red-kangaroo
Copy link
Contributor

red-kangaroo commented Jan 31, 2021

A player reported that they entered GC1 and the floor it pulled was just the salt mines from the goblin hideout in Aslona. Going down a floor immediately put them in GC6 and going back up then in the Enner cave. They later had a repeat with GC2 being generated with a bone file from fungal caves.

  • Check if bone file version was updated with Aslona update.
@AquariusPower
Copy link
Contributor

AquariusPower commented Jan 31, 2021

I guess it could be a clash with dungeon index + deungeonLevel index when creating the filename.

See the dungeon indexes:

#define RANDOM 0
#define ELPURI_CAVE 1
#define ATTNAM 2
#define NEW_ATTNAM 3
#define UNDER_WATER_TUNNEL 4
#define EMPTY_AREA 5
#define XINROCH_TOMB 6
#define BLACK_MARKET 7
#define ASLONA_CASTLE 8
#define REBEL_CAMP 9
#define GOBLIN_FORT 10
#define FUNGAL_CAVE 11
#define PYRAMID 12
#define MONDEDR 13
#define IRINOX 14
#define DARK_FOREST 15

#define ELPURI_CAVE 1
GloomyCaves.dat, has 13 levels!

It will clash with:
#define GOBLIN_FORT 10
#define FUNGAL_CAVE 11
#define PYRAMID 12

Now some filenames will end with:
.111 # ELPURI_CAVE level 11
.111 # FUNGAL_CAVE level 1
!!!

A way to fix this would be to put some non numeric char between dungeon and level when creating the filenames, could be:
.1_11
.11_1

EDIT: it may be simple to patch:

./Main/Source/dungeon.cpp
void dungeon::SaveLevel(cfestring& SaveName, int Number, truth DeleteAfterwards)
{
  outputfile SaveFile(SaveName + '.' + Index + '_' + Number);

level* dungeon::LoadLevel(cfestring& SaveName, int Number)
{
  inputfile SaveFile(SaveName + '.' + Index + '_' + Number);

and do the same about bones files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants