forked from LeHulk1/RandoBlazer
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Randomizer.h
49 lines (39 loc) · 1.66 KB
/
Randomizer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef __RANDOMIZER_H__
#define __RANDOMIZER_H__
#include "Item.h"
#include "Lair.h"
#include "Map.h"
#include "Sprite.h"
#include "ROMCheck.h"
#include <fstream>
#include <string>
#include <vector>
namespace Randomizer {
struct Options {
Options() {}
Options(const std::string& options_string);
bool race = false;
};
ROMStatus CheckFile(const std::string& Filename);
bool Randomize(const std::string& InFile, const std::string& OutFile, unsigned int seed, const Options& options, std::string* seed_name = 0);
void RandomizeLairEnemies(Lair &Lair);
void RandomizeLairType(Lair &Lair);
void RandomizeLairNbEnemies(Lair &Lair);
void RandomizeLairSpawnRate(Lair &Lair);
void RandomizeLairContents(std::vector<Lair> &LairList);
void RandomizeMapSprites(std::vector<Sprite> &RandomizedSpriteList, std::fstream &ROMFile);
void ExploreRegion(std::vector<Region> &RegionList,
std::vector<Goal> &GoalList,
std::vector<int> &AvailableRevivingLairs,
std::vector<int> &AvailableItems,
std::vector<int> &AvailableGoals,
bool RevivedNPCs[],
bool CollectedKeyItems[],
int RegionIndex);
bool RandomizeProgression(std::vector<Lair> &RandomizedLairList,
std::vector<Item> &RandomizedItemList,
std::fstream &ROMFile);
int WeightedGoalChoice(std::vector<Goal> &GoalList,
std::vector<int> &AvailableGoals);
}
#endif // __RANDOMIZER_H__