Delink all actors and all map objects (#42)

* fix jp config

* disambiguate required relocs and misc fixes

* fix wrong relocs

* generate delinks

* generate configure.py entries

* dsd format and rename symbols

* fix some ambiguated relocs

* disambiguate some relocs

* "disambiguate" some relocs

* identify & fix vtables 1

* identify & fix vtables 2

* identify & fix vtables 3

* remove fake symbols

* fix warnings

* minor symbols name fixes

* change func prefix

* find and name actor ctors

* detect and give names to dtors based on D0

* add .init delinks for actors

* ActorType -> ActorProfile

* getinstance - getprofile

* add rupee .init

* mapobjecttype -> mapobjectprofile

* mapobjecttype -> mapobjectprofile 2

* rename profile bss symbols

* delink .bss

* dsd format

* delink .ctor and rename (.p)sinit symbols

* dsd format

* create source files

* fix build issues

* add jp only actors

* fix match issues for eur

* fix match issues for jp

* fix some sinit symbol names

* class changes, thumb/arm changes

* add missing newlines

* add arm on dtors

* fix regressions

* fix warnings

* (jp) sync some symbols with eur

* fix build issues
This commit is contained in:
Yanis
2026-04-11 16:18:06 +02:00
committed by GitHub
parent 9474561b03
commit c537818320
2024 changed files with 122403 additions and 49732 deletions
+24
View File
@@ -0,0 +1,24 @@
#pragma once
#include "Map/MapObjectId.hpp"
#include "Physics/Cylinder.hpp"
#include "System/SysNew.hpp"
#include "types.h"
class MapObject;
class MapObjectProfile : public SysObject {
public:
/* 00 (vtable) */
MapObjectProfile(MapObjectId actorId);
/* 00 */ virtual MapObject *Create() = 0;
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0c */ virtual void vfunc_0c();
/* 10 */ virtual void vfunc_10();
/* 14 */
};
typedef MapObjectProfile *(*GetMapObjectProfile)();