Anders Jenbo
e750efcfce
Clean up NextPlrLevel
8 years ago
galaxyhaxz
d991f63b16
Fix type of screen_buf_end ( #184 )
8 years ago
galaxyhaxz
8381807e90
Fix data type in gendung ( #183 )
8 years ago
Anders Jenbo
2e383d6810
Minor clean ups for player.cpp
8 years ago
Dennis Duda
b6baa965bb
Revert "Switched back `NewCursor` to the original name `j_SetCursor`"
...
This reverts commit 4c93cca082 .
NewCursor was the actual name, j_<function> are just remaining
reversing names
8 years ago
Dennis Duda
0b29cbb97b
Reverted `MAX_PLRS` to raw literal without unsigned annotation
8 years ago
Dennis Duda
4c93cca082
Switched back `NewCursor` to the original name `j_SetCursor`
8 years ago
Dennis Duda
565a4b8bce
Flipped back the leveltype check
...
:S
8 years ago
Dennis Duda
9e18f07d5b
Cleaned up the if branches further, removed `pAnims` var so that register and instruction generation comes very close
8 years ago
Anders Jenbo
cd99c0b800
Clean up player.cpp SetPlrAnims
8 years ago
Dennis Duda
3577cfe747
Reordered switches to normal order
8 years ago
Dennis Duda
5d1dd0e934
Added enum value for `_iCurs` assignement
8 years ago
Dennis Duda
45303c98b1
Updated cleanup of `CreatePlrItems`:
...
- Now 99% accurate (can't get the last `GetPlrHandSeed` call in the switch to optimize the way it is in the binary, TODO for that added)
- Switched `_ui_classes` enum members out with `plr_classes` ones
- Added TODO tags for missing debug logic from the 1.00 build
8 years ago
Dennis Duda
84617bc1cc
Cleaned up `CreatePlrItems`.
8 years ago
Dennis Duda
9770783f41
Cleaned up `CreatePlayer` to be only one instruction off!
...
The devilution code generates one additional `cdq` instruction, the rest is perfect...
8 years ago
Dennis Duda
4ae7211fa0
Cleaned up `CreatePlayer`.
...
This is now as close as it gets without switching to enum types/parameters everywhere, so the compiler can optimize all accesses/checks accordingly. This is especially noticeable in the way the code for the switch is generated (line 775). In the original binary you can see it does weird stuff if c is not one of the classes' enum value (probably due to optimization since the switch should be exhaustive).
I've tried switching the type of c to _ui_classes, also removing the UI_NUM_CLASSES value to see if that'd be enough to let it generate the optimized code, but nope, seems like we need to change it all at once. Currently, _pClass is a char, but an enum value would fit there as well, size-wise (alignment).
That's also why I'm guessing there had to be another enum for player classes, without the UI_NUM_CLASSES value...
8 years ago
galaxyhaxz
1ec606131c
render.cpp -> add bug notes
8 years ago
galaxyhaxz
8a4196fe76
render.cpp -> remove all garbage vars
8 years ago
galaxyhaxz
d2f109801c
render.cpp -> remove last asm and cleanup
8 years ago
galaxyhaxz
14a0241d4d
render.cpp -> take out the trash
8 years ago
galaxyhaxz
b62d9c72c4
Update scrollrt.cpp
8 years ago
Anders Jenbo
71c4c71796
Clean up player NewPlrAnim and ClearPlrPVars
8 years ago
galaxyhaxz
5abc4058a0
render.cpp -> add comments on cel type
8 years ago
galaxyhaxz
60c065ca93
render.cpp -> i don't even remember
8 years ago
Dennis Duda
c056e67de7
Some minor adjustments from more asm comparison work
8 years ago
Dennis Duda
93ee15d70f
Removed `ptrplr` since that was only used in the PSX version.
8 years ago
Dennis Duda
258b6fe7ec
Reverted the Str/Mag/Dex/Vit checks back to `plr[myplr]`
8 years ago
Dennis Duda
dbd4b11821
Further cleanup of `CalcPlrItemVals`
...
The stack var setup is now 100% correct, and the function is only 5 bytes larger than the original now.
Some minor differences remain, but it's very close now!
8 years ago
Dennis Duda
634ae12ede
Updated `CalcPlrItemVals` with the new player class enum vals
...
and completed docs.
8 years ago
Dennis Duda
5eae298035
Cleaned up `CalcPlrItemVals`
8 years ago
galaxyhaxz
6713958b0d
render.cpp -> fix left-shifting
8 years ago
galaxyhaxz
c255a70eac
render.cpp -> fix right-bit macro
8 years ago
galaxyhaxz
bb3ab09f9a
render.cpp -> OFSUB fix
8 years ago
galaxyhaxz
0d5a7f6878
render.cpp -> fix switch/case
8 years ago
galaxyhaxz
d49bdeaae6
Fix portals/quests in multiplayer
8 years ago
galaxyhaxz
6fbb559a30
Fix sgJunk array ( #177 )
8 years ago
galaxyhaxz
5ed2336e90
Fix types of animation data ( #176 )
8 years ago
galaxyhaxz
5ff8756116
Fix junk ( #174 )
8 years ago
Dennis Duda
4272b18daf
Cleaned up `SetPlrHandItem`
...
Binary exact
8 years ago
galaxyhaxz
0a3503dd55
Fix operating objects from top (sarcophagus)
8 years ago
galaxyhaxz
3d80117763
Fix tile transparency in "Hell" ( #172 )
8 years ago
galaxyhaxz
05ccc9e2ec
Prevent confusion with local types using pkplr
8 years ago
galaxyhaxz
0699ff0402
Update multi.h
8 years ago
nomdenom
b8eb6c54fb
Fix signature of multi_send_pinfo(...) ( #164 )
8 years ago
galaxyhaxz
c68923ae33
Fix catacombs generation ( #167 )
...
All dungeons are working now.
8 years ago
galaxyhaxz
9f5883f4c4
Fix dungeon generation of the Cathedral ( #165 )
...
Devilicious!!
8 years ago
Dennis Duda
9d31a6e29c
Flip check in `AddMonsterType` to make it near binary perfect
8 years ago
Dennis Duda
50cbbded0c
Flipped setlevel check for better matching with the original binary
8 years ago
Dennis Duda
4391b247a8
Moved `monst->MData` to temporary variable to get the code very close to the original
8 years ago
Dennis Duda
302d1c6507
Flipped branches of PlaceQuestMonster to make it near byte-perfect.
8 years ago